2012-04-12 27 views
3

是否有一些文檔說明編譯器如何自動生成屬性的訪問器?屬性的訪問器實現

在編寫自定義訪問器(覆蓋合成的訪問器)時,很高興知道原始實現。 特別是要查看不同(弱/強/保留/複製等)屬性的屬性訪問器的不同實現。

+1

可能重複[爲聲明屬性合成了什麼等效代碼?](http://stackoverflow.com/questions/5350563/what-equivalent-code-is-synthesized-for-a-declared-property) – 2012-04-12 19:03:57

回答

3

是否有一些文檔說明編譯器自動生成屬性的訪問器?

編譯器只是添加一個C函數調用。看看這個模塊(例如_objc_getProperty_objc_setProperty)。

在編寫自定義訪問器(覆蓋合成的訪問器)時,最好知道原始實現。特別是要查看具有不同(弱/強/保留/複製等)屬性的屬性訪問器的不同實現。

這些實現作爲在http://www.opensource.apple.com/source/objc4/上託管的objc運行時的一部分公開可用。

+0

你能很高興地告訴我在公衆場合哪裏可以找到它嗎? – bijan 2012-04-12 19:02:22

+0

這是當前版本http://www.opensource.apple.com/source/objc4/objc4-493.11/runtime/Accessors.subproj/objc-accessors.m – justin 2012-04-12 19:05:20

+0

是仍然需要的保留/發佈的東西,當使用ARC ? – bijan 2012-04-12 19:12:46