2

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

只是想澄清一下。

非常感谢。

4

1 回答 1

3

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

不是依赖约定,而是让编译器更清楚你的意图。在 IDE 中使用点表示法时,您还将获得更好的语法突出显示(尽管这可以说是 Xcode 错误)。

于 2013-04-19T13:30:50.117 回答