我对objective-c很新,所以很容易:-)我有一个容器对象,“Data”,它有许多NSMutableArrays。
Data.h
@interface Data : NSObject{
NSMutableArray *one;
NSMutableArray *two;
}
@property (nonatomic, retain) NSMutableArray *one;
@end
并希望将其传递给load方法,在这种情况下,它将更新Data类中的每个相应数组。
Parser.h
+ (Parser *)load:(Data*) store;
Parser.m
+ (Parser *)load:(Data *) store {
...
[store.one addObject:name.stringValue];
}
但无论我做什么,“name.stringValue”中的字符串都不会附加到数组中。将“Store”数据对象传递给parse方法时,是否存在一些我遗漏的内容?如果我应该提供更多细节,请告诉我,但我觉得这涵盖了这个问题。
答案 0 :(得分:1)
检查Data
的实现是否正确初始化了可变数组 - 以下是给出Data
接口的简单示例:
#import "Data.h"
@implementation Data
{
#pragma mark - Properties
- (NSMutableArray *)one
{
if (!_one) {
_one = [[NSMutableArray alloc] init];
}
return _one;
}
- (NSMutableArray *)two
{
if (!_two) {
_two = [[NSMutableArray alloc] init];
}
return _two;
}
}
答案 1 :(得分:0)
在开始使用之前使用one = [NSMutableArray array];
。这将创建一个空的可变数组。