[英]How to initialize a dictionary from NSString to NSArray
我正在尝试从NSString
创建一个字典(不确定是NSDictionary
还是NSMutableDictionary
)到数组(不确定是NSArray
还是NSMutableArray
)。
属性:
@property(nonatomic, readonly) NSMutableDictionary * categories;
实施:
@synthesize categories = _categories;
- (NSMutableDictionary *)categories{
if(! _categories) {
for(PFObject * each in self.products) {
NSString * currentcategory = [each valueForKey:@"subtitle"];
NSArray * currentlist = [_categories objectForKey:currentcategory];
if(! currentlist) {
currentlist = [[NSArray alloc] init];
}
NSMutableArray * newArray = [currentlist mutableCopy];
[newArray addObject:each];
NSArray * newlist = [NSArray arrayWithArray:newArray];
[_categories setObject:newlist forKey:currentcategory];
}
}
NSLog(@"After constructor the value of the dictionary is %d", [_categories count]);
return _categories;
}
从调试NSLog
我意识到构造后字典是空的。 这有什么问题,我该如何更改?
代码行后
if(! _categories) {
加
_categories = [NSMutableDictionary new];
如果您未在代码中的某处初始化_category数组,那么。 您必须在内部实例化它
if(!_categories)
您的NSMutableArray _categories实例尚未分配和初始化。
要创建NSMutableArray实例,只需添加
_categories = [NSMutableArray arrayWithCapacity:0];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.