【发布时间】:2025-04-30 15:25:01
【问题描述】:
所以属性的自动合成很棒。但是,当您同时提供 getter 和 setter 时,会出现错误。
@property (strong, nonatomic) NSArray *testArray;
- (NSArray *)testArray {
return _testArray;
}
- (void)setTestArray:(NSArray *)testArray {
_testArray = testArray;
}
错误:Use of undeclared identifier '_testArray'。
添加@synthesize testArray = _testArray; 解决了这个问题。我只是想知道这是为什么?
【问题讨论】:
-
似乎您没有声明 ivar 本身。顺便说一句,这与 Xcode 完全无关。如果您使用 Eclipse 或 nano 并 make 编写程序,这不会有什么不同。
-
@property 在那里(问题是关于自动合成的属性)。此外,当您仅实现 getter 或 setter 时,它工作正常,只有当您同时执行时才会失败。
-
@property正在声明 iVar
标签: objective-c properties synthesize