How to use @available and #available and when to use it ?