如何将CFArrayRef创建为NSMutableArray

时间:2012-01-06 16:59:20

标签: objective-c xcode nsmutablearray

这是我创建CFArrayRef的代码。我想知道如何使它成为NSMutableArray。我需要它用于我的TableViewController。或者是否有另一种方法在TableViewController中使用CFArrayRef?

ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef arrayOfAllPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);

2 个答案:

答案 0 :(得分:10)

CFArrayRef免费桥接到NSArray *,因此您可以将其投射,然后创建可变副本:

NSMutableArray *data = [(NSArray *) myCFArrayRef mutableCopy];

答案 1 :(得分:3)

对于自动释放的版本,请使用

NSMutableArray* data = [NSMutableArray arrayWithArray: (NSArray*) myCFArrayRef];