这些都适用于我的应用程序,没有任何明显区别:
1)
theArray = [[NSMutableArray alloc] initWithArray:[NSKeyedUnarchiver unarchiveObjectWithData:theData]];
2)
theArray = [NSMutableArray arrayWithArray:[NSKeyedUnarchiver unarchiveObjectWithData:theData]];
[theArray retain];
然而,它们真的等价吗? (1) 有一个 alloc 语句,而 (2) 没有。一个比另一个更可取吗?
最佳答案
效果是一样的。但是 (2) 效率较低(一种方便的方法 = alloc + init + autorelease)。
首选方法是不复制数组。
theArray = [[NSKeyedUnarchiver unarchiveObjectWithData:theData] retain];
顺便说一句,我注意到你问了很多关于 iPhone 操作系统开发的基本问题。 Please go through the tutorials on these 首先。
关于objective-c - NSMutableArray arrayWithArray : vs. initWithArray:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3749657/