这些都适用于我的应用程序,没有任何明显的区别:
1)
theArray = [[NSMutableArray alloc] initWithArray:[NSKeyedUnarchiver unarchiveObjectWithData:theData]];
2)
theArray = [NSMutableArray arrayWithArray:[NSKeyedUnarchiver unarchiveObjectWithData:theData]];
[theArray retain];
然而,它们真的相同吗? (1)有一个alloc语句,而(2)没有。一个比另一个好吗?
答案 0 :(得分:5)
效果是一样的。但是(2)效率较低(方便的方法= alloc + init + autorelease)。
首选方法是不复制数组。
theArray = [[NSKeyedUnarchiver unarchiveObjectWithData:theData] retain];