Cocoa touch NSMutableDictionary、alloc、init和reiniting
在以下代码中:Cocoa touch NSMutableDictionary、alloc、init和reiniting,cocoa-touch,memory-management,nsmutabledictionary,Cocoa Touch,Memory Management,Nsmutabledictionary,在以下代码中: //anArray is a Array of Dictionary with 5 objs. //here we init with the first NSMutableDictionary *anMutableDict = [[NSMutableDictionary alloc] initWithDictionary:[anArray objectAtIndex:0]]; ... use of anMutableDict ... //then want to clea
//anArray is a Array of Dictionary with 5 objs.
//here we init with the first
NSMutableDictionary *anMutableDict = [[NSMutableDictionary alloc] initWithDictionary:[anArray objectAtIndex:0]];
... use of anMutableDict ...
//then want to clear the MutableDict and assign the other dicts that was in the array of dicts
for (int i=1;i<5;i++) {
[anMutableDict removeAllObjects];
[anMutableDict initWithDictionary:[anArray objectAtIndex:i]];
}
//anArray是一个包含5个对象的字典数组。
//在这里,我们从第一个开始
NSMutableDictionary*anMutableDict=[[NSMutableDictionary alloc]initWithDictionary:[anArray objectAtIndex:0]];
... 使用一个可变的dict。。。
//然后要清除MutableDict并分配dict数组中的其他dict
对于(int i=1;i,如果使用自动删除词典,代码将简单得多:
NSMutableDictionary *anMutableDict = [NSMutableDictionary dictionaryWithDictionary:[anArray objectAtIndex:0]];
... use of anMutableDict ...
for (int i=1; i<5; i++)
{
anMutableDict = [NSMutableDictionary dictionaryWithDictionary:[anArray objectAtIndex:i]];
}
NSMutableDictionary*anMutableDict=[NSMutableDictionary dictionary Withdictionary:[anArray objectAtIndex:0]];
…使用可变表目录。。。
对于(int i=1;i,如果使用自动删除词典,代码将简单得多:
NSMutableDictionary *anMutableDict = [NSMutableDictionary dictionaryWithDictionary:[anArray objectAtIndex:0]];
... use of anMutableDict ...
for (int i=1; i<5; i++)
{
anMutableDict = [NSMutableDictionary dictionaryWithDictionary:[anArray objectAtIndex:i]];
}
NSMutableDictionary*anMutableDict=[NSMutableDictionary dictionary Withdictionary:[anArray objectAtIndex:0]];
…使用可变表目录。。。
对于(int i=1;i这不是使用init/alloc的方式。相反,请尝试:
//anArray is a Array of Dictionary with 5 objs.
//here we init with the first
NSMutableDictionary *anMutableDict = [[NSMutableDictionary alloc] initWithDictionary:[anArray objectAtIndex:0]];
... use of anMutableDict ...
//then want to clear the MutableDict and assign the other dicts that was in the array of dicts
for (int i=1;i<5;i++) {
[anMutableDict removeAllObjects];
[anMutableDict addEntriesFromDictionary:[anArray objectAtIndex:i]];
}
//anArray是一个包含5个对象的字典数组。
//在这里,我们从第一个开始
NSMutableDictionary*anMutableDict=[[NSMutableDictionary alloc]initWithDictionary:[anArray objectAtIndex:0]];
…使用可变表目录。。。
//然后要清除MutableDict并分配dict数组中的其他dict
对于(int i=1;i这不是使用init/alloc的方式。相反,请尝试:
//anArray is a Array of Dictionary with 5 objs.
//here we init with the first
NSMutableDictionary *anMutableDict = [[NSMutableDictionary alloc] initWithDictionary:[anArray objectAtIndex:0]];
... use of anMutableDict ...
//then want to clear the MutableDict and assign the other dicts that was in the array of dicts
for (int i=1;i<5;i++) {
[anMutableDict removeAllObjects];
[anMutableDict addEntriesFromDictionary:[anArray objectAtIndex:i]];
}
//anArray是一个包含5个对象的字典数组。
//在这里,我们从第一个开始
NSMutableDictionary*anMutableDict=[[NSMutableDictionary alloc]initWithDictionary:[anArray objectAtIndex:0]];
…使用可变表目录。。。
//然后要清除MutableDict并分配dict数组中的其他dict
对于(int i=1;i您不需要“重新输入”对象-ever.Initialization用于新的alloc
ed实例,并可能在初始化完成后做出不正确的假设。对于NSMutableDictionary,您可以使用setDictionary:
使用新字典或addEntriesFromDi完全替换字典的内容字典:
添加另一个字典中的条目(除非有冲突,否则不删除当前条目)
更一般地说,您可以释放该字典,并在数组中创建字典的mutableCopy
。您不需要“重新生成”对象-ever.Initialization用于新的alloc
ed实例,并可能在初始化完成后做出不正确的假设。对于NSMutableDictionary,您可以使用setDictionary:
使用新字典或addEntriesFromDi完全替换字典的内容字典:
添加另一个字典中的条目(除非有冲突,否则不删除当前条目)
更一般地说,您可以释放该字典并在数组中对字典进行mutableCopy
。ow,抱歉,这是一个不完整的代码。在循环中,我加载dict an,然后使用它。ow,抱歉,这是一个不完整的代码。在循环中,我加载dict an,然后使用它。@Marcos:那么您应该接受@Chuck的答案。这就是所以,这是对你问题的好答案表示敬意的方式。@Marcos:那么你应该接受@Chuck的答案。这就是对你问题的好答案表示敬意的方式。