-arrayWithArray实际上做了什么?

Rex*_*ids 8 iphone objective-c uikit nsmutablearray nsarray

我想看看它是如何创建一个数组的.如何查看显示如何完成的.m文件?

Nat*_*ies 16

正如@Ken所提到的,您无法看到源代码(尽管您可以通过gdb反汇编该方法).

该方法本身创建给定数组的不可变(不可更改),自动释放的副本.以下是相同的行为:

// Both resulting arrays are immutable and won't be retained
NSArray* immutableArray = [[[NSArray alloc] initWithArray:mutableArray] autorelease];
NSArray* immutableArray = [NSArray arrayWithArray:mutableArray];
NSArray* immutableArray = [[mutableArray copy] autorelease];
Run Code Online (Sandbox Code Playgroud)

根据简洁选择你喜欢的任何一个,我猜:-).