cocoa – NSArrayController初始化

cocoa – NSArrayController初始化,第1张

概述我无法让核心数据支持的NSArrayController在我的代码中正常工作.以下是我的代码: pageArrayController = [[NSArrayController alloc] initWithContent:nil]; [pageArrayController setManagedObjectContext:[self managedObjectContext]]; 我无法让核心数据支持的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初始化是不正确的?

任何帮助表示赞赏.谢谢.

解决方法 是的,nibs以特殊的方式初始化对象,有时很难弄清楚如何复制它.我也在努力解决这个问题,最后在Apple的核心数据编程指南中找到答案>>核心数据和Cooca绑定>> Automatically Prepares Content Flag(感谢Dave Fernandes在 Cocoa Dev名单上).答案是,如果使用nil内容初始化arraycontroller,则还需要执行提取.

BOol result;NSArrayController *pageArrayController = [[NSArrayController alloc] initWithContent:nil];[pageArrayController setManagedobjectContext:[self managedobjectContext]];[pageArrayController setEntityname:@"Page"];NSError *error;if ([pageArrayController fetchWithRequest:nil merge:YES error:&error] == NO)      result = NO;else{     //do all that other pageArrayController configuration stuff     result = [pageArrayController setSelectionIndex:0];}

BTW,[NSSortDescriptor sortDescriptorWithKey:@“index”升序:是]]发出警告.

总结

以上是内存溢出为你收集整理的cocoa – NSArrayController初始化全部内容,希望文章能够帮你解决cocoa – NSArrayController初始化所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1020747.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存