今天,我得到了一长串编码指南的链接,宣称是"代码诫命".很好的阅读,并对我充满了新的见解.在列表中,在滚动条的25%左右,我遇到了一些新内容:隐式数据成员创建.
虽然我读过或看过的关于Objective-C的每个教程,书籍和视频总是执行三重奏NSNumber *number | @property NSNumber *number | @synthesize number
,但这些命令现在告诉我,我可以简单地省略第一步(界面中的数据成员声明),因为@synthesize将创建一个苍蝇 说什么!?
有点不相信我删除了几个我的数据成员声明,事实上,我的应用仍然像一个魅力.减少打字,减少阅读,减少错别字的机会.
对我而言听起来像是一种双赢,但这是不是很好的做法?
我纯粹不相信所有的教程,书籍和视频都在教导错误的教训,至少过多,或者我在课堂上没有注意到......
干杯,EP.
编辑:虽然我从链接的帖子中复制了表达"数据成员",但它更常用"ivar"这个词来描述,这里只是一个很好的搜索友好性.这也解决了我以前对property/ivar/member命名:)的困惑.
合成的实例变量是现代Objective-C 2.0运行时的一个特性.这意味着它们可以在x86_64上,ARM上,以及Xcode 3.2上的iPhone模拟器上使用.这意味着你的建议 - 你可以省略ivar声明,@synthesize行将为你生成ivar.其性能与明确声明ivar完全相同,但它具有非私有实现细节不会污染头文件的重要好处.
归档时间: |
|
查看次数: |
612 次 |
最近记录: |