@dynamic与@synthesize的区别
来源:互联网 发布:r390清零软件 编辑:程序博客网 时间:2024/05/18 03:04
举例:@property(nonatomic,getter=isOn) BOOL on;
在定义property的时候 ,指定了getter ,首先会在 implementation里面找isOn方法 作为 “on”属性的getter方法,如果没有找到的话,就会自动生成一个默认的 (BOOL)on { return _on; } _on是默认的默认生成的实例变量。如果在implementation里面使用@dynamic限定了“on”属性,那么就必须定义getter指定的函数isOn,否则运行起来就要找不到这个方法的错误。
@synthesize 意思是,除非开发人员已经做了,否则由编译器生成相应的代码,以满足属性声明。
在声明property属性后,有2种实现选择
@synthesize
编译器期间,让编译器自动生成getter/setter方法。
当有自定义的存或取方法时,自定义会屏蔽自动生成该方法
@dynamic
告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告
然后由自己实现存取方法
或存取方法在运行时动态创建绑定:主要使用在CoreData的实现NSManagedObject子类时使用,由Core Data框架在程序运行的时动态生成子类属性
0 0
- @dynamic与@synthesize的区别
- @dynamic与@synthesize的区别
- @dynamic与@synthesize的区别
- property synthesize dynamic 的区别
- @synthesize和@dynamic的区别
- @synthesize和@dynamic的区别
- 浅析@synthesize与@dynamic的最本质区别
- 关于@synthesize和@dynamic的区别
- iOS之 @synthesize和@dynamic的区别
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- LInux 锂电池驱动分析
- Android 编程下 Touch 事件的分发和消费机制
- 巴科斯范式BNF: Backus-Naur Form介绍
- UIImageJPEGRepresentation和UIImagePNGRepresentation
- Spark系列(3)-Spark examles运行实例
- @dynamic与@synthesize的区别
- SVN使用方法详解
- 打开Activity时,不自动显示(弹出)虚拟键盘
- CCoolBar 的替代方案 CDockablePane。
- scrapy - 3.items
- 常用的PHP调试工具有哪些呢?
- android 项目通过eclipse混淆代码 打包 + proguard的配置
- 你可能没听过的 Java 8 中的 10 个特性
- windows 环境下Apache HTTP Server 2.2的安装和使用apache转发weblogic集群