iPhone SDK:如何将NSArray的内容复制到NSMutable数组?

use*_*550 8 iphone

我需要将NSArray的内容复制到NSMutable数组.换句话说,我想将arrayCountryChoices复制到arraySearchResults.有任何想法吗????

//main data
NSArray *arrayCountryChoices;

//search results buffer 
NSMutableArray *arraySearchResults;


//create data 
arrayCountryChoices = [[NSArray alloc] initWithObjects:@"foo",@"bar",@"baz",nil];   

//copy the original array to searchable array ->> THIS  IS NOT WORKING AS EXPECTED
arraySearchResults = [[NSMutableArray alloc] arrayWithArray:arrayCountryChoices];
Run Code Online (Sandbox Code Playgroud)

提前致谢.

Can*_*der 26

它也是

[NSMutableArray arrayWithArray:anArray];
Run Code Online (Sandbox Code Playgroud)

要么

[[NSMutableArray alloc] initWithArray:anArray];
Run Code Online (Sandbox Code Playgroud)

要么

[anArray mutableCopy];
Run Code Online (Sandbox Code Playgroud)

您的示例中的代码不起作用,因为您正在调用arrayWithArray实例NSMutableArray,但它arrayWithArray是一个类方法.

作为一般规则,以init实例方法开头的初始化方法,以及以类的名称(array等)开头的方法是类方法.类方法返回自动释放的对象,而实例方法返回保留的对象.