我对 Objective-C 很陌生,所以简单点:-) 我有一个容器对象“Data”,它有许多 NSMutableArray。
数据.h
@interface Data : NSObject{
NSMutableArray *one;
NSMutableArray *two;
}
@property (nonatomic, retain) NSMutableArray *one;
@end
并希望将其传递给加载方法,在这种情况下它将更新 Data 类中的每个相应数组。
解析器.h
+ (Parser *)load:(Data*) store;
解析器.m
+ (Parser *)load:(Data *) store {
...
[store.one addObject:name.stringValue];
}
但无论我做什么,“name.stringValue”中的字符串都不会附加到数组中。将“Store”数据对象传递给解析方法时是否缺少某些内容?如果我应该提供更多详细信息,请告诉我,但我认为这涵盖了问题。
最佳答案
检查您的 Data
实现是否正确初始化了可变数组 - 下面是一个针对您的 Data
接口(interface)的简单示例:
#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;
}
}
关于ios - 更新传递给方法的 NSMutableArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28185407/