当ARC来到Objective-C的,我尽力通过Objective-C Automatic Reference Counting (ARC)引导张贴锵项目网站上阅读以获得更好的开窍究竟是什么了。我发现什么有(没有别的地方)用__attribute__
声明,以表示电弧某些代码是否自动释放其返回值,例如(__attribute__((ns_returns_autoreleased))
),还是“消耗”参数(__attribute((ns_consumed))
,等等提。使用__attribute __的的在ARC-托管代码
然而,似乎指南提供了必要性,这些声明持有的实际水平非常小的字,扣除他们似乎没有什么区别,无论是运行时,静态分析,也不运行项目本身的时候。做这些,甚至使不同的是,用__attribute__((objc_method_family(new)))
标记方法是否有优势?我在ARC上找到的文章根本没有提及这些说明符;也许一位ARC大师可以提供这些用法的用词。(就个人而言,我有以防万一所有相关的说明符,但发现他们使代码混淆和混乱。)