gpt4 book ai didi

iphone - 代码 : Storyboarding with CoreData

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:21:40 25 4
gpt4 key购买 nike

Download my source for reference!

我是 iOS 开发的新手,我正在尝试自学...我需要一些帮助

首先,切换到“安全文化主视图”时出现错误... Storyboard

2012-06-07 11:50:54.720 SafetyCulture[1777:fb03] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+entityForName: could not locate an NSManagedObjectModel for entity name 'Event''

我不知道如何解决这个...

其次,我想通过两步过程创建一条记录...在“问题...”VC 上,我希望用户回答大约 20 个问题——但它们都会被格式化为以同样的方式,所以我不需要额外的 xibs,是吗?所以当谈到最后一个问题时,我希望“下一步”按钮说“完成”或“保存”……应该很简单吧?

我很想开始使用 Xcode...如果您需要更多信息,请告诉我,我会尽力而为!

最佳答案

我找到了抛出异常的代码:

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:self.managedObjectContext];

在您的方法 - (NSFetchedResultsController *)fetchedResultsController 中,同名属性的自定义 setter ,如果不存在则初始化一个。真正的问题是 self.managedObjectContext 当前为 nil。在您的代码中没有任何地方是主视图 Controller 分配了 managedObjectContext。

最简单的方法是以这种方式从 AppDelegate 中获取它

#import "safetyCultureAppDelegate.h" //this needs to be at the top to make sure the compiler knows what you’re on about.
...
self.managedObjectContext = [(safetyCultureAppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext]; //put this in the viewDidLoad, or wherever you can set it when the Master VC is created.

使用断点很容易解决这个问题,我强烈建议您学习如何使用断点,因为它们对于此类可重现的错误非常有用。

关于第二个问题,给这只猫剥皮的方法有上百万种。创建一堆场景并在它们之间推送 segues 并给它们一个共享的“问题类”并没有错。它看起来会很漂亮,而且不会涉及太多代码。性能不会成为问题。

就是说,如果您想以编程方式执行此操作,请使用 NSDictionaries 的 NSArray,每个 dict 包含一个问题和可能的答案,并对 Controller 进行编程以在返回或前进时从数组中加载它们,并记住保存。不过,如果问题是静态的,我强烈建议您使用 Storyboard 方法。远没有那么繁琐。

断点和 segue 都很好,但现在我建议你冲杯咖啡,吃点 cookies ,然后阅读 Core Data Programming Guide盖到盖。您会发现 Apple 的文档非常易于访问。

如果您真的是新手,请关注 this advice.它对我有用。

关于iphone - 代码 : Storyboarding with CoreData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10935429/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com