2012-04-12 30 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