2012-03-25 97 views
2

我想我有點生氣。這是非常我做的第一件事,我得到的崩潰(見下文)。崩潰是我嘗試跨越executeFetchRequest的那一刻。簡單的CoreData示例拋出異常

如果我刪除request.sortDescriptors = sortDescriptors它的作品。

我必須做一些瘋狂的愚蠢的事情。但即使走了幾次,我仍然看不到它。索引是一個非可選位整數,用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。也許我的筆尖文件泄漏(儘管看不到任何東西)。試過gcc(目前蘋果LLVM 3.1)。我試着把一切都轉移到一個新的項目上。我嘗試過全新開始一個項目。我已經嘗試在提取之前保存上下文。

我已經知道我會討厭答案。這將是愚蠢的,我會覺得愚蠢,但我需要另一雙眼睛。

由於 格雷格

回答

4

sortDescriptors應該是的NSSortDescriptor陣列;您的sortDescriptors只有@"index"(一個NSString)。試試這個:

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

謝謝:(我知道我會討厭這個答案。 – 2012-03-25 18:34:21