ios难以理解的错误

时间:2011-11-04 08:55:18

标签: ios xcode core-data interface-builder static-libraries

我收到了这个错误:

*** 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类构建在静态库中。

任何想法? 提前致谢

2 个答案:

答案 0 :(得分:0)

如果您更改了视图控制器但忘记更改Nib及其连接,则从Nib查看控制器初始化可能会导致最混乱的错误。这可能是这里的问题。你可以通过用新创建的空白笔尖替换Nib来轻松找到答案。

答案 1 :(得分:0)

您的班级LauncherViewController没有initWithNibName:managedObjectModel:andPartnerKey方法。由于您引用了该方法的实现,因此您似乎只是分配了错误的类(或者您需要在LauncherViewController类上调用正确的初始化程序。)