我们在开发的过程中会发现某些方法被deprecated了,这是因为这些方法已经被更好的方法代替了,
或者是这些放在在当初设计的时候考虑不全面等。
__OSX_AVAILABLE_BUT_DEPRECATED() 宏说明,在某个版本开始引进一个方法,
但是在某个版本之后废弃了。
__OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0,__MAC_10_5,__IPHONE_NA,__IPHONE_NA)
在mac os x 10.0 开始引进这个方法,但是在10.5之后废弃了,ios上从来没只支持过。
我们可以自己写一些方法
extern void mymacfunc() __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
这个函数在mac os x 10.5之后可用,在ios上不可用
@interface MyClass : NSObject
-(void) mymacmethod __OSX_AVAILABLE_STARTING(__MAC_10_5,__IPHONE_NA);
-(void) mymacandiosmethod
@end
这个类中的mymacmethod 在mac os x 10.5可用,在ios上不可用
但是mymacandiosmethod就没有限制了。
本文介绍了__OSX_AVAILABLE_BUT_DEPRECATED宏的作用及使用方法。该宏用于标记那些在某个OSX版本中引入但在后续版本中被废弃的方法。此外,文章还展示了如何自定义方法,并使用__OSX_AVAILABLE_STARTING宏来限定方法的可用性。
783

被折叠的 条评论
为什么被折叠?



