@dynamic我绝对不知道是什么意思@dynamic在Objective-C以及它如何帮助works.any请什么是iPad/iPhone的
10
A
回答
13
@dynamic意味着您将在运行时动态地提供这些方法的实现。
了所有的细节,但基本上使用您承诺提供在运行时的性能保证方法的实现@dynamic手段。
特别看这里;
为你如何构建你的动态方法,并将其放置到运行时的例子。
核心数据使用此机制来提供访问器。这是非常酷的,一旦你深入它:)
而作为一个方面说明,元编程ObjC不是为了心脏的模糊,不要运送它,直到你grok它,否则你的用户将遭受。
2
使用@dynamic,您需要提供自己的getter/setter方法。
取而代之@synthesize会为您创建getter/setter方法。
5
我引述苹果的书The Objective-C Programming Language:
@dynamic
您可以使用关键字@dynamic告诉 ,你将履行物业隐含的 API合同编译器 可通过提供方法 实现直接或在运行时 使用其他机制,如动态 加载代码或动态方法 分辨率。如果编译器无法找到合适的 实现,它将禁止编译器在其它情况下生成 的警告 。只有在知道方法 在运行时可用时,才应该使用它 。
你可以找到pdf副本here。
+0
+1:很好的解释。 – FreeAsInBeer 2011-03-25 13:10:24
相关问题
- 1. 什么是静态库,什么是动态库,有什么区别,什么是更好的使用,为什么?
- 2. 什么“?”做?什么是__FILE__?
- 3. 什么是<NS0:什么?
- 4. 什么是setDetailItem:做什么?
- 5. 什么是纯SVG和什么是SMIL?
- 6. 春天 - 什么是豆,什么不是?
- 7. 什么是PPC,这是什么意思?
- 8. 是什么代码是什么意思?
- 9. 什么是session_reset()到底是什么?
- 10. 是什么!<是什么意思?
- 11. 是什么意思:是什么意思?
- 12. 这是什么`_time_independent_equals`是什么意思?
- 13. 什么是.size是什么意思
- 14. 什么是()=> {}是什么意思?
- 15. 什么是Ext.apply xtype是什么意思?
- 16. 什么是$ http timeout是什么意思?
- 17. 是什么??('')。?。?`是什么意思?
- 18. dir是什么? dir +“/”:“”是什么意思?
- 19. 什么是AjaxAdapter和什么是query()?
- 20. 什么是stringWithFormat:@“%@ - 1”是什么意思?
- 21. Django:什么是`sys.path`应该是什么?
- 22. 什么是MIME?它到底是什么?
- 23. 什么是PHPCI - 什么是构建?
- 24. 什么是简单的JavaScript做什么
- 25. 是什么意思?:是的
- 26. 什么是memcached的
- 27. 什么是JavaScript的
- 28. 什么是HttpContext的
- 29. 什么是NetSuite的
- 30. 什么是perl的
有些类会自动生成方法,如NSManagedObject。 – 2011-03-25 13:31:13