2013-09-30 18 views
15

以下是错误:- [WelcomeUI _setViewDelegate:]:无法识别的选择发送到实例0xc061110

2013-09-30 17:59:23.212 The Solver[422:a0b] -[WelcomeUI _setViewDelegate:]: unrecognized selector sent to instance 0xc061110 
2013-09-30 17:59:23.222 The Solver[422:a0b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[WelcomeUI _setViewDelegate:]: unrecognized selector sent to instance 0xc061110' 
*** First throw call stack: 
(
    0 CoreFoundation      0x023605e4 __exceptionPreprocess + 180 
    1 libobjc.A.dylib      0x014be8b6 objc_exception_throw + 44 
    2 CoreFoundation      0x023fd903 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275 
    3 CoreFoundation      0x0235090b ___forwarding___ + 1019 
    4 CoreFoundation      0x023504ee _CF_forwarding_prep_0 + 14 
    5 UIKit        0x0013d55c +[UIViewController setViewController:forView:] + 40 
    6 UIKit        0x00137fb1 -[UIViewController setView:] + 511 
    7 Foundation       0x00edef68 _NSSetUsingKeyValueSetter + 133 
    8 Foundation       0x00ede493 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 267 
    9 Foundation       0x00f4094a -[NSObject(NSKeyValueCoding) setValue:forKeyPath:] + 412 
    10 UIKit        0x002c5cd5 -[UIRuntimeOutletConnection connect] + 106 
    11 libobjc.A.dylib      0x014d07d2 -[NSObject performSelector:] + 62 
    12 CoreFoundation      0x0235bb6a -[NSArray makeObjectsPerformSelector:] + 314 
    13 UIKit        0x002c482e -[UINib instantiateWithOwner:options:] + 1417 
    14 UIKit        0x00136c95 -[UIViewController _loadViewFromNibNamed:bundle:] + 280 
    15 UIKit        0x0013743d -[UIViewController loadView] + 302 
    16 UIKit        0x0013773e -[UIViewController loadViewIfRequired] + 78 
    17 UIKit        0x00137c44 -[UIViewController view] + 35 
    18 UIKit        0x000605ad -[UIWindow addRootViewControllerViewIfPossible] + 66 
    19 UIKit        0x00060947 -[UIWindow _setHidden:forced:] + 312 
    20 UIKit        0x00060bdd -[UIWindow _orderFrontWithoutMakingKey] + 49 
    21 UIKit        0x0006b44a -[UIWindow makeKeyAndVisible] + 65 
    22 UIKit        0x0001e8e0 -[UIApplication _callInitializationDelegatesForURL:payload:suspended:] + 1851 
    23 UIKit        0x00022fb8 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 824 
    24 UIKit        0x0003742c -[UIApplication handleEvent:withNewEvent:] + 3447 
    25 UIKit        0x00037999 -[UIApplication sendEvent:] + 85 
    26 UIKit        0x00024c35 _UIApplicationHandleEvent + 736 
    27 GraphicsServices     0x022be2eb _PurpleEventCallback + 776 
    28 GraphicsServices     0x022bddf6 PurpleEventCallback + 46 
    29 CoreFoundation      0x022dbdd5 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 53 
    30 CoreFoundation      0x022dbb0b __CFRunLoopDoSource1 + 523 
    31 CoreFoundation      0x023067ec __CFRunLoopRun + 2156 
    32 CoreFoundation      0x02305b33 CFRunLoopRunSpecific + 467 
    33 CoreFoundation      0x0230594b CFRunLoopRunInMode + 123 
    34 UIKit        0x000226ed -[UIApplication _run] + 840 
    35 UIKit        0x0002494b UIApplicationMain + 1225 
    36 The Solver       0x0000274d main + 141 
    37 libdyld.dylib      0x059a4725 start + 0 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 

这里是代码:

#import <UIKit/UIKit.h> 

#import "AppDelegate.h" 

int main(int argc, char *argv[]) 
{ 
    @autoreleasepool { 
     return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 
    } 
} 

这里是下垂:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

请解释我做错了什么。

+3

看起来你使用的是NIB,你试图为视图控制器的顶层视图('WelcomeUI')设置一个自定义类,并且'WelcomeUI'不是'UIView'的子类。 –

+0

我该如何解决这个问题? –

+0

进入IB,选择您的视图控制器,选择顶层视图,在右侧将“WelcomeUI”中的“Custom Class”更改为您的意思。 –

回答

31

正如我们在评论中所讨论的,问题在于您的NIB配置。视图控制器的根视图使用自定义类WelcomeUI,它不是UIView的子类。当试图设置它的视图时,视图控制器加载了成功初始化WelcomeUI实例的NIB,但在尝试执行选择器_setViewDelegate:时崩溃,因为它不是视图。

要解决这个问题,你只需要进入Interface Builder中,展开您的视图控制器来选择视图(可能在侧边栏显示为“WelcomeUI”),打开身份检查和删除自定义类。

View of the above code in Xcode

既然你已经打算设置的自定义类视图控制器,你可以选择在左侧栏视图控制器本身并设置其自定义类“WelcomeUI”。

+0

这是那些可能会让我失望几天的错误之一。故事板相关的错误应该提供更多的人类可读的消息/日志= \ – ACLima

相关问题