如何从NSMutableDictionary获取NSmutablearray?

时间:2010-02-09 06:51:15

标签: iphone

我使用以下语法来设置对象。

[dict setObject:eventArray forKey:categoryName];

现在我试图低于语法,但我什么也没得到。

NSMutableArray *tempArrayValue=[[NSMutableArray alloc]init];
tempArrayValue =[tempDict valueForKey:categoryValue];

我能理解的问题是什么可以帮助我?

2 个答案:

答案 0 :(得分:0)

您已将key作为categoryName而不是categoryValue,并且在检索时您使用的是categoryValue。

NSMutableArray *tempArrayValue=[[NSMutableArray alloc]init]; tempArrayValue =[tempDict valueForKey:categoryName];

答案 1 :(得分:0)

如果您设置的值如下:

[dict setObject:eventArray forKey:categoryName];

然后你应该再次取回它:

NSMutableArray* eventArray = [dict valueForKey:categoryName];

假设eventArray的类型为NSMutableArray

你在做什么至少有两个不同的问题。

此行是内存泄漏,因为您分配了一个对象然后将其丢弃,因此将其删除:

NSMutableArray *tempArrayValue=[[NSMutableArray alloc]init];

如果没有为key categoryValue存储对象,则第二行可能返回nil对象。 (您正在使用上面名为categoryName的对象作为存储值的键):

tempArrayValue =[tempDict valueForKey:categoryValue];

你还没有发布足够的代码来告诉它为什么不能正常工作。