2013-09-30 14 views
15

Tutaj jest błąd:- [WelcomeUI _setViewDelegate:]: selektor nierozpoznany wysyłane do instancji 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) 

Oto kod:

#import <UIKit/UIKit.h> 

#import "AppDelegate.h" 

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

Oto co jest słabnącym:

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

Proszę wyjaśnić, co to robię źle.

+3

Wygląda na to, że używasz stalówki, próbowałeś ustawienie niestandardowej klasy do widoku z góry poziomu kontrolera widoku za ('WelcomeUI') i' WelcomeUI' nie jest podklasą 'UIView'. –

+0

Jak to naprawić? –

+0

Przejdź do IB, wybierz kontroler widoku, wybierz widok najwyższego poziomu, po prawej stronie zmień "Custom Class" z 'WelcomeUI' na cokolwiek masz na myśli. –

Odpowiedz

31

Jak wspominaliśmy w komentarzach, że problem jest z konfiguracją NIB. Widok główny na kontrolerze widoku używa niestandardowej klasy WelcomeUI, która nie jest podklasą UIView. Kiedy próbuje ustawić swój pogląd, kontroler widoku załadowany stalówki które pomyślnie zainicjowany instancji WelcomeUI, ale rozbił się, gdy próbował wykonywania selektor _setViewDelegate: ponieważ nie jest to widok.

Aby rozwiązać ten problem, wystarczy przejść do Konstruktora interfejsów, rozwinąć kontroler widoku, aby wybrać widok (prawdopodobnie pojawiający się jako "WelcomeUI" na pasku bocznym), otworzyć inspektora tożsamości i usunąć niestandardową klasę.

View of the above code in Xcode

Ponieważ miał na myśli, aby ustawić niestandardową klasę kontrolera widoku, można wybrać widok samego kontrolera w lewym pasku bocznym i ustawić jego niestandardową klasę „WelcomeUI”.

+0

Jest to jeden z tych błędów, które pewnie trzymają mnie przez kilka dni. Błędy związane ze scenariuszem powinny zapewniać więcej czytelnych dla człowieka komunikatów/dzienników = \ – ACLima

Powiązane problemy