iOS中 @synthesize 和 @dynamic 区别
来源:互联网 发布:网络骑士作品集 编辑:程序博客网 时间:2024/06/04 18:44
object-c 为了让java的开发者习惯 使用.的操作,所以可以将接口类中的变量 使用@property来声明属性。但是在.h中声明的属性,必须在.m中使用@synthesize或者@dynamic来实现(在最近出的ios6中这已经省了),否则属性不可用。
熟悉object-c语法的都知道@synthesize实际的意义就是 自动生成属性的setter和getter方法。
@dynamic 就是要告诉编译器,代码中用@dynamic修饰的属性,其getter和setter方法会在程序运行的时候或者用其他方式动态绑定,以便让编译器通过编译。其主要的作用就是用在NSManagerObject对象的属性声明上,由于此类对象的属性一般是从Core Data的属性中生成的,core data 框架会在程序运行的时候为此类属性生成getter和setter方法。
在声明property属性后,有2种实现选择
@synthesize
编译器期间,让编译器自动生成getter/setter方法。
当有自定义的存或取方法时,自定义会屏蔽自动生成该方法
@dynamic
告诉编译器,不自动生成getter/setter方法,避免编译期间产生警告
然后由自己实现存取方法
或存取方法在运行时动态创建绑定:主要使用在CoreData的实现NSManagedObject子类时使用,由Core Data框架在程序运行的时动态生成子类属性
0 0
- iOS中 @synthesize 和 @dynamic 区别
- iOS中 @synthesize 和 @dynamic 区别
- iOS中 @synthesize 和 @dynamic 区别
- iOS中 @synthesize 和 @dynamic 区别
- iOS中 @synthesize 和 @dynamic 区别
- iOS中 @synthesize 和 @dynamic 区别
- iOS中 @synthesize 和 @dynamic 区别
- iOS中 @synthesize 和 @dynamic
- iOS中 @synthesize 和 @dynamic
- iOS之 @synthesize和@dynamic的区别
- iOS面试中遇到@synthesize和@dynamic
- iOS @synthesize和@dynamic
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- @synthesize和@dynamic区别
- 使用adb shell 导出已安装的app里面的文件
- poj1753 Flip Game
- JavaScript 使用
- 域名从www跳转到非www,Apache和Nginx2种解决方式
- delphi程序结构
- iOS中 @synthesize 和 @dynamic 区别
- 关于 mac 电脑上如何用终端配置 android 开发环境adb 和 识别手机设备的方法
- 异步调用WebService实例
- 界面中图片和组件不能同时显示
- iOS 放音与录音同时操作设置
- java基础知识精华总结
- MEF
- grep进阶——运用正则表达式
- 任务处理类Bolts的使用(可以代替AsyncTask)