在viewController的接口(.h)中:
@property (strong, nonatomic) NSMutableArray* myMutableArray;
计算方法如下:
- (void) calculate {
DataObject* pObj = [DataObject objStart:(dataStart) objEnd:(dataEnd) objDay:(day)];
[myMutableArray addObject:pObj];
}
我收到此错误消息:
使用未声明的标识符'myMutableArray':你的意思是'_myMutableArray'吗?
答案 0 :(得分:1)
如果您没有手动合成属性(@synthesize myMutableArray;
)
编译器将创建一个带下划线前缀的iVar(与@synthesize myMutableArray = _myMutableArray
相同);
要访问它,请使用
[_myMutableArray addObject:pObj];
或
[self.myMutableArray addObject:pObj];
如果你像这样手动合成
@synthesize myMutableArray = nameOfMyBackingIVar
您可以通过这种方式访问NSMutableArray
:
[nameOfMyBackingIVar addObject:pObj];
答案 1 :(得分:1)
您正在使用XCode4:)
这里你不需要@synthesize。编译器将所有ivars本身创建为_ivarName。 即,
@synthesize myMutableArray=_myMutableArray;
如果你想覆盖它,那么你可以
@synthesize myMutableArray;
或者,就这样
@synthesize myMutableArray=myMutableArray;