繁体   English   中英

如何初始化从NSString到NSArray的字典

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM