當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大師可以提供這些用法的用詞。(就個人而言,我有以防萬一所有相關的說明符,但發現他們使代碼混淆和混亂。)