现场教学的一部分乐趣是应付问题和独立思考。在我展示了一些在类中广泛使用的 @property 代码,其中一个学生问到"@property 后面繁琐的字段都是什么?我已经使用了 retain, assign 和 nonatomic,但我真的不知道它们真正是干什么用的。"(如果你仅仅只是想要一份快速参考,文章最后有所有的 @property 属性。)
对于许多 Objective-C 程序员来说,@property 就像一个神奇的护身符。添加一些像这样的代码给你的狗对象一个名字:
1
| @property (copy, nonatomic) NSString *puppyName;
|
把它放到 Xcode 的代码片断库中,当需要它时粘贴进来然后编辑它。
@property 是一个属性声明,它有两个目的:声明一个或两个方法,当你使用这些方法时简洁地描述它们的运行时语义。
我声明
@property 声明是声明访问器方法的简写。这些方法让你从对象获取值(嘿 puppy,你叫什么名字?)或者改变值(puppy 欢迎回家,现在你的名字是 Rumperlstiltskin)。下面就是类声明中的 property 声明:
1
2
3
| @interface Puppy: NSObject
@property NSString *puppyName;
@end
|
继续阅读