iOS:NSMutableArray alloc/init和arrayWithObjects之间的区别:

Roc*_*cky 0 cocoa ios

有什么区别之间

NSMutableArray* p = [[NSMutableArray alloc] initWithObjects:...]
Run Code Online (Sandbox Code Playgroud)

NSMutableArray* p = [NSMutableArray arrayWithObjects:...]
Run Code Online (Sandbox Code Playgroud)

Mee*_*shi 6

在第一个中,您拥有数组对象的所有权,您必须释放它们.

NSMutableArray* p = [[NSMutableArray alloc] initWithObjects:...];
[p release];
Run Code Online (Sandbox Code Playgroud)

最后一个你不需要发布,因为你没有数组对象的所有权.

NSMutableArray* p = [NSMutableArray arrayWithObjects:...]; //this is autoreleased
Run Code Online (Sandbox Code Playgroud)

如果您在此处调用release,那么它将使您的应用程序崩溃.