【发布时间】:2012-05-31 00:06:52
【问题描述】:
我是在 iPhone 上开发的新手,我的项目遇到了很多问题。
该项目,基于空应用程序:一个标签栏应用程序(item1,item2)。 item1 是一个简单的视图控制器(ProfilViewController),是导航控制器的一部分。来自 item1 的按钮推送一个 tableviewcontroller (MainMantraViewController)。
除此之外,我的 CoreData 有一个实体:Mantra,由 3 个属性组成:短语、主题、partage。我尝试在启动时填充它以测试 coredata 和 tableviewcontroller 之间的捆绑。
这是我的 appdelegate.m,在 didfinishlaunching 下:
ProfilViewController *rootView =(ProfilViewController *)self.window.rootViewController;
rootView.managedObjectContext=self.managedObjectContext;
//donnée test
Mantra * newMantra=(Mantra *)[NSEntityDescription insertNewObjectForEntityForName:@"Mantra" inManagedObjectContext:self.managedObjectContext];
newMantra.phrase =@"ca pu du cul";
newMantra.theme = @"rire";
运行应用程序,我得到以下 *
- (已编辑)
*:
**2012-05-24 16:26:09.690 Proto v0[1843:fb03] -[UITabBarController setManagedObjectContext:]: unrecognized selector sent to instance 0x6a4a690
2012-05-24 16:26:09.693 Proto v0[1843:fb03] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITabBarController setManagedObjectContext:]: unrecognized selector sent to instance 0x6a4a690'**
我完全被困在这一点上,我在任何地方都找不到任何确凿的线索。 感谢您的帮助,并将提供任何有用的片段。
干杯
【问题讨论】:
-
错误是说程序中的某些东西正试图访问对象的
topViewController属性。该对象是UITabBarController,但该属性仅存在于UINavigationController。你在哪里引用topViewController? -
这是我在教程中找到的一种方法,但它似乎必须实现,尽管我认为它是课程的一部分。
-
新错误正在发生,因为您告诉编译器将
rootView视为ProfilViewController,但它不是一个;它是UITabBarController,而不是...根据错误消息。每当您使用演员表时,例如 (ProfilViewController *),您需要 100% 确定您是对的。
标签: ios ios4 ios-simulator xcode4.3