我很好奇是否重用分配给方便方法的变量是可以的.
NSDictionary *address = [NSDictionary dictionaryWithObjectsAndKeys:@"Italy", @"Country",
address = [NSDictionary dictionaryWithObjectsAndKeys:@"England", @"Country", nil];
Run Code Online (Sandbox Code Playgroud)
或者我应该只分配第二个新变量?
NSDictionary *address = [NSDictionary dictionaryWithObjectsAndKeys:@"Italy", @"Country",
NSDictionary *address2 = [NSDictionary dictionaryWithObjectsAndKeys:@"England", @"Country", nil];
Run Code Online (Sandbox Code Playgroud)
欢呼加里
第一个示例将使地址指针指向不同的对象,因此您将丢失对原始字典的引用.
因为它们是自动释放的,所以它不会泄漏内存,但您可能希望将来能够访问这两个词典.第一个例子不会为你做那个,你会失去第一个字典.
第二个例子要好得多,它允许你独立地引用两个字典而不会踩到其中一个.
但是,如果您要合并两个词典,则应创建第一个词典的可变副本,然后使用addEntriesFromDictionary:它们合并这两个词典.不要忘记在执行此操作时释放/自动释放您创建的可变副本.
| 归档时间: |
|
| 查看次数: |
269 次 |
| 最近记录: |