我正在尝试在我的 iPhone 应用程序中合成变量
@synthesize samples=_samples;
samples
声明为
@property (strong, nonatomic) NSMutableArray *samples;
但是,我收到一个构建错误,声称 _samples 不存在。为什么?
我正在尝试在我的 iPhone 应用程序中合成变量
@synthesize samples=_samples;
samples
声明为
@property (strong, nonatomic) NSMutableArray *samples;
但是,我收到一个构建错误,声称 _samples 不存在。为什么?
您是否尝试_samples
从实现文件外部访问?@synthesize
通过调用的实现之外的任何东西都无法查看通过生成的 ivars @synthesize
。所以如果你做这样的事情......
MyView *myView = [[MyView alloc] init];
myView._sample;
...你会看到一个错误。有关更多详细信息,请参见此处:https ://stackoverflow.com/a/8511046/251012 。
.
.
.
编辑:以下所有内容都是错误的。左,这样评论才有意义
您是否在声明您的 ivar 并且名称拼写是否正确?
当你说类似...
@synthesize foo = _foobar;
...您需要确保在界面中设置实例变量,如下所示...
@interface MyObject : NSObject
{
NSString *_foobar;
}
@property(nonatomic,strong) NSString *foo;
@end
需要明确的是,当您说 时foo=_foobar
,foo
是自动生成 getter/setter 的基本名称,并且_foobar
是 ivar 的名称。如果没有声明 ivar,@property
将自动生成一个同名。
同样的代码在我这边工作。尝试重新启动 xcode 并重建项目。