我收到了这个错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[LauncherViewController initWithNibName:managedObjectModel:andPartnerKey:]: unrecognized selector sent to instance 0x6d52100'
当我调用以下函数时:
- (id)initWithNibName:(NSString *)nibNameOrNil
managedObjectModel:(NSManagedObjectModel *)mom
andPartnerKey:(NSString *)key {
self = [super initWithNibName:nibNameOrNil bundle:[NSBundle mainBundle]];
if (self) {
managedObjectModel = mom;
connected = YES;
sync_failure = NO;
partnerKey = key;
}
return self;
}
使用以下参数:
NSManagedObjectModel *mom = [self managedObjectModel];
NSString *launcherNibName = @"LauncherView";
NSString *key = @"87654321";
当然我检查了[self managedObjectModel]实际上是否返回了正确的值。
N.B。 :LauncherViewController类构建在静态库中。
任何想法? 提前致谢
答案 0 :(得分:0)
如果您更改了视图控制器但忘记更改Nib及其连接,则从Nib查看控制器初始化可能会导致最混乱的错误。这可能是这里的问题。你可以通过用新创建的空白笔尖替换Nib来轻松找到答案。
答案 1 :(得分:0)
您的班级LauncherViewController
没有initWithNibName:managedObjectModel:andPartnerKey
方法。由于您引用了该方法的实现,因此您似乎只是分配了错误的类(或者您需要在LauncherViewController
类上调用正确的初始化程序。)