廢棄(Deprecated)API標(biāo)記,能在項目中起到優(yōu)化的能力,針對那種該方法還能使用但不急于替換或提示其他開發(fā)人員乖杠,特別是自己寫的SDK被其他人引用時提醒使用者使用其他方法广凸。
還有我們能看見蘋果在引入一個更優(yōu)秀的方法或類時,會對廢棄的類或方法進(jìn)行標(biāo)記潮针,當(dāng)我們看見出現(xiàn)警告時,會閱讀警告來替換它推薦的類或方法倚喂。
舉例:
NS_DEPRECATED_IOS(2_0, 6_0)
在iOS中每篷,此方法在2.0 被引用, 將在6.0后廢棄此方法端圈。因此需要找到它推薦的方法來進(jìn)行替換焦读。
NS_AVAILABLE(10_8, 6_0)
Mac 與iOS中,Mac10.8以上才能使用舱权,iOS6.0以上才能使用
NS_DEPRECATED(10_0, 10_6, 2_0, 4_0)
Mac 與iOS中矗晃,Mac在10.0被引用,10.6后被棄用宴倍,iOS在2.0被引用张症,4.0后被棄用。
+(void)test NS_DEPRECATED_IOS(2_0, 8_0,"use test1");
在iOS中鸵贬,此類在2.0被引用俗他,8.0被棄用,后面注釋使用“test1”方法
1. 標(biāo)記棄用的方法
通常我會在棄用的方法下進(jìn)行標(biāo)記恭理,在進(jìn)行清理時全局搜索“【可棄用】”拯辙,排查。另外我還使用“【可優(yōu)化】”颜价,“【可刪除】”涯保。進(jìn)初始標(biāo)記(明知道此方法有問題,但技術(shù)不夠或沒時間修改時周伦,暫時性標(biāo)記)夕春。
#pragma mark -【可棄用】
+ (void)deleteKeyData:(NSString *)service;
2. 替換方法的警告說明
加上解釋后,在引用此代碼時专挪,會出現(xiàn)警告
DEPRECATED_MSG_ATTRIBUTE()
+(NSString *)getUUID DEPRECATED_MSG_ATTRIBUTE("Please use [YKKeyChainStore getUUIDAtIndex:]");
你可以使用DEPRECATED聯(lián)想查看更多關(guān)于DEPRECATED的宏定義及志。