我無法讓核心數據支持的NSArrayController在我的代碼中正常工作。以下是我的代碼:NSArrayController初始化
pageArrayController = [[NSArrayController alloc] initWithContent:nil];
[pageArrayController setManagedObjectContext:[self managedObjectContext]];
[pageArrayController setEntityName:@"Page"];
[pageArrayController setAvoidsEmptySelection:YES];
[pageArrayController setPreservesSelection:YES];
[pageArrayController setSelectsInsertedObjects:YES];
[pageArrayController setClearsFilterPredicateOnInsertion:YES];
[pageArrayController setEditable:YES];
[pageArrayController setAutomaticallyPreparesContent:YES];
[pageArrayController setSortDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"index" ascending:YES]]];
BOOL result = [pageArrayController setSelectionIndex:0];
當我嘗試調用setSelectionIndex時,它返回YES,表示選擇已成功更改。但是,對pageArrayController對象的任何後續getSelectionIndex調用都會返回NSNotFound。
我不明白的是,如果我把NSArrayController的成NIB,並允許NIB文件進行初始化(所有在Interface Builder中相同的屬性),NSArrayController的正常工作。
爲什麼行爲有差異? NIB文件是否以特殊方式初始化這些類型的對象?我的NSArrayController初始化不正確?
任何幫助表示讚賞。謝謝。
沒有'-getSelectionIndex'方法。你自己寫了這樣一個方法,還是實際調用了一些不同的東西? – 2009-12-08 00:23:14
我的意思是-selectionIndex。 – 2009-12-08 14:27:02