所以我希望在类上有一个“属性”,但我不想只在内存中保存该属性,我想将它实际存储为NSUserDefault并在获取该属性时检索它。
因此我有这样的方法:
- (void)setUser:(User *)user {
// actually set the user as an NSUserDefault here
}
- (User *)user {
// get the user from the NSUserDefaults and return it
}
当我构建这些方法为我做的工作时,在头文件中有@property
声明是否有任何意义?
我收到了混合信息。有人说你应该声明属性以强迫人们使用getter / setter方法,但我不明白为什么人们不会被迫使用这些方法,如果它们全部可用?
只是想要一点澄清。
非常感谢。
答案 0 :(得分:3)
您应该使用@property
,因为这是在Objective-C对象上定义属性的现代方法,即使您自己实现了setter和getter。
不是依赖惯例,而是让你的意图对编译器更加清晰。在IDE中使用点符号时,您还可以获得更好的语法突出显示(尽管这可能是Xcode错误)。