Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 引发异常的简单CoreData示例_Objective C_Xcode_Core Data - Fatal编程技术网

Objective c 引发异常的简单CoreData示例

Objective c 引发异常的简单CoreData示例,objective-c,xcode,core-data,Objective C,Xcode,Core Data,我想我有点疯了。这是我做的第一件事,我得到了崩溃(见下图)。崩溃发生在我试图跳过executeFetchRequest的那一刻 如果我删除request.sortDescriptors=sortDescriptors,它就会工作 我一定在做一些愚蠢的事。但即使离开几次,我还是看不见。索引是非可选整数32,默认值为1 - (void)awakeFromNib { [self defaultData]; } - (void)defaultData { NSManagedObjectC

我想我有点疯了。这是我做的第一件事,我得到了崩溃(见下图)。崩溃发生在我试图跳过executeFetchRequest的那一刻

如果我删除request.sortDescriptors=sortDescriptors,它就会工作

我一定在做一些愚蠢的事。但即使离开几次,我还是看不见。索引是非可选整数32,默认值为1

- (void)awakeFromNib {
   [self defaultData];
}

- (void)defaultData {

   NSManagedObjectContext* moc= self.managedObjectContext; // all code with this 

   [NSEntityDescription insertNewObjectForEntityForName:@"Envelope" 
      inManagedObjectContext:moc];

   NSFetchRequest* request = [NSFetchRequest
      fetchRequestWithEntityName:@"Envelope"];

   NSArray* sortDescriptors= [NSArray arrayWithObject:@"index"];
   request.sortDescriptors= sortDescriptors;

   NSError* error = nil;
   NSArray* results = [moc executeFetchRequest:request error:&error];
}
下面是我的崩溃:

-[__NSCFConstantString key]: unrecognized selector sent to instance 0x240f4
已尝试删除“iPhone模拟器”文件夹。已尝试删除并重新创建xcdatamodeld。也许我的nib文件有漏洞(尽管我什么也看不见)。已尝试gcc(当前为Apple LLVM 3.1)。我试着把所有的东西都搬到一个新的项目上去。我试着重新开始一个项目。在执行提取之前,我已尝试保存上下文

我已经知道我会讨厌这个答案。这将是愚蠢的,我会感到愚蠢,但我需要另一双眼睛

谢谢
Greg

sortdescriptor
应该是
NSSortDescriptor
的数组;您的
sortDescriptors
只有
@“索引”
(一个
NSString
)。试试这个:

NSArray* sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"index" ascending:NO]];
request.sortDescriptors = sortDescriptors;

sortdescriptor
应该是
NSSortDescriptor
的数组;您的
sortDescriptors
只有
@“索引”
(一个
NSString
)。试试这个:

NSArray* sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"index" ascending:NO]];
request.sortDescriptors = sortDescriptors;
谢谢:(我知道我会讨厌那个答案。