在使用nsmutablearray时出错

时间:2012-06-12 06:36:18

标签: iphone core-data nsmutablearray xcode4.2 nsarray

我在我的应用程序中使用coredata来存储和检索值。我想使用NSMutableArray但是

AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSEntityDescription *entityDesc = [NSEntityDescription entityForName:@"NewExpense" inManagedObjectContext:context];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]init];
[fetchRequest setEntity:entityDesc];
NSError *error;

//我在以下行中收到错误,其中self.newArray是一个NSMutableArray

self.newArray = [[context executeFetchRequest:fetchRequest error:&error]retain];
[fetchRequest release];

它表示从nsarray分配给nsmutablearray的不兼容指针类型。

但是如果我在编辑表视图时将它声明为一个数组,那么排序就不起作用,因为它们需要一个nsmutablearray。

2 个答案:

答案 0 :(得分:0)

这样做:

 self.newArray = [[context executeFetchRequest:fetchRequest error:&error]mutableCopy]

希望有所帮助。

答案 1 :(得分:0)

这是因为executeFetch返回一个不可变数组。

使用:[NSMutableArray arrayWithArray:...];