如果我正在创建完全自定义的getter和setter方法,我还需要@property声明吗?

时间:2013-04-19 13:23:32

标签: ios objective-c properties getter-setter

所以我希望在类上有一个“属性”,但我不想只在内存中保存该属性,我想将它实际存储为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方法,但我不明白为什么人们不会被迫使用这些方法,如果它们全部可用?

只是想要一点澄清。

非常感谢。

1 个答案:

答案 0 :(得分:3)

您应该使用@property,因为这是在Objective-C对象上定义属性的现代方法,即使您自己实现了setter和getter。

不是依赖惯例,而是让你的意图对编译器更加清晰。在IDE中使用点符号时,您还可以获得更好的语法突出显示(尽管这可能是Xcode错误)。

相关问题