浅析@synthesize与@dynamic的最本质区别
2016-01-20 14:07
411 查看
在项目中,用到了运行时,于是我就对运行时在前两天有了一个更好的理解,可是,问题来了,我写了一个@dynamic,后边还写了set get 方法,使我联想到了@synthesize,因为这两个实在太像了,于是我做了一个测试,以为我知道@syn是系统自动生成set get 方法,程序猿无需自己来实现set和get方法,于是@dy我也想省事,可是经过测试,是不幸的,看下边报错代码:***
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Person setDict:]: unrecognized selector sent to instance 0x7fb208e156d0',很明显,报错说的是没法找到set方法,get方法肯定也找不到了,当我加上之后,就成功运行了,原来是这样的:@dy是需要程序猿手动自己来实现set get方法并且程序猿是必须来实现的,而@syn是不需要程序猿来实现的,因为是系统帮我们实现了,当然了,程序猿不嫌麻烦也可以实现,不过没什么意义
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Person setDict:]: unrecognized selector sent to instance 0x7fb208e156d0',很明显,报错说的是没法找到set方法,get方法肯定也找不到了,当我加上之后,就成功运行了,原来是这样的:@dy是需要程序猿手动自己来实现set get方法并且程序猿是必须来实现的,而@syn是不需要程序猿来实现的,因为是系统帮我们实现了,当然了,程序猿不嫌麻烦也可以实现,不过没什么意义
相关文章推荐
- 2016年初Android开源项目总结
- Lua 字符串操作
- 心得
- Java语言中String 、StringBuffer 、StringBuilder的区别
- whuoj1574 第K小数
- bzoj3781 小B的询问【莫队】
- Git命令详解
- android开源项目汇总
- iOS语法小结---豁然开朗
- ssh提示输入密码回显
- Spring的DAO异常-你可能忽视的异常
- springMVC访问静态资源的两种方式
- IOS-多线程(NSOperation)
- ContactsUI(修改联系人)
- linux常用命令—— 系统设置(七)
- 欢迎使用CSDN-markdown编辑器
- selenium+BeautifulSoup+phantomjs爬取新浪新闻
- JAVA RMI简单实现
- 网络测试常用的命令-比较ping,tracert和pathping等命令之间的关系
- android Studio的简单设置和运行