更新传递给方法的NSMutableArray

时间:2015-01-28 05:41:33

标签: ios objective-c

我对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方法时,是否存在一些我遗漏的内容?如果我应该提供更多细节,请告诉我,但我觉得这涵盖了这个问题。

2 个答案:

答案 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];。这将创建一个空的可变数组。