ta klasa nie pasuje do kodowania wartości klucza dla klucza authView
Kiedy uruchamiam moją aplikację na symulatorze, działa dobrze, kiedy próbuję użyć urządzenia, nie działa i otrzymuję następujące błędy:
NOTE
: Nie znalazłem w moim kodzie żadnej klasy authView
2011-02-24 12:04:14.472 TestP[473:307] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<TestP 0x19d2b0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key authView.'
*** Call stack at first throw:
(0 CoreFoundation 0x33ac0987 __exceptionPreprocess + 114
1 libobjc.A.dylib 0x3347b49d objc_exception_throw + 24
2 CoreFoundation 0x33ac0705 -[NSException dealloc] + 0
3 Foundation 0x3367db4f -[NSObject(NSKeyValueCoding) setValue:forUndefinedKey:] + 182
4 Foundation 0x3367d03b _NSSetUsingKeyValueSetter + 90
5 Foundation 0x3367eda3 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 194
6 Foundation 0x33630b17 -[NSObject(NSKeyValueCoding) setValue:forKeyPath:] + 130
7 UIKit 0x3224c60f -[UIRuntimeOutletConnection connect] + 66
8 CoreFoundation 0x33a63fc7 -[NSObject(NSObject) performSelector:] + 18
9 CoreFoundation 0x33a6cd51 -[NSArray makeObjectsPerformSelector:] + 388
10 UIKit 0x3224b577 -[UINib instantiateWithOwner:options:] + 586
11 UIKit 0x3224cb39 -[NSBundle(UINSBundleAdditions) loadNibNamed:owner:options:] + 92
12 UIKit 0x3209e871 -[UIApplication _loadMainNibFile] + 96
13 UIKit 0x3209a1fd -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 180
14 UIKit 0x3206648b -[UIApplication handleEvent:withNewEvent:] + 1114
15 UIKit 0x32065ec9 -[UIApplication sendEvent:] + 44
16 UIKit 0x32065907 _UIApplicationHandleEvent + 5090
17 GraphicsServices 0x33b0ef03 PurpleEventCallback + 666
18 CoreFoundation 0x33a556ff __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 26
19 CoreFoundation 0x33a556c3 __CFRunLoopDoSource1 + 166
20 CoreFoundation 0x33a47f7d __CFRunLoopRun + 520
21 CoreFoundation 0x33a47c87 CFRunLoopRunSpecific + 230
22 CoreFoundation 0x33a47b8f CFRunLoopRunInMode + 58
23 UIKit 0x32099309 -[UIApplication _run] + 380
24 UIKit 0x32096e93 UIApplicationMain + 670
25 TestP 0x00002213 main + 98
26 TestP 0x000021ac start + 40)
terminate called after throwing an instance of 'NSException'
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
10 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
+ [UINib ...]
w śladzie wstecznym). Próbuje połączyć zdefiniowane przez Ciebie .Jeden z Twoich widoków jest skonfigurowany jako właściciel pliku . Jednak gdy przychodzi czas na rozpakowanie końcówki, właściciel nie ma właściwości , więc rozpakowywanie kończy się niepowodzeniem.
Anonimowy użytkownik
Potwierdzenie od:
Obejście problemu
Dlaczego warto uruchomić w symulatorze?
Czasami kończy się niepowodzeniem.
Po prostu podejmij kroki
Teraz uruchamia prawdziwy kod, może problem został rozwiązany na urządzeniu, a może zaczął rzucać wyjątek w symulatorze, jeśli naprawdę jest problem. (Wspomniałem już o obejściu)
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Na przykład załóżmy, że masz jeden UITextField na scenorys i masz do niego odpowiednią właściwość:
Łączysz element UI w scenorysie z tą właściwością, a następnie decydujesz się jakoś zmienić nazwę zmiennej. Teraz, jeśli klikniesz prawym przyciskiem myszy UITextField w scenorysie, zauważysz, że istnieją dwa wyjścia referencyjne - stare i nowe. Możesz usunąć stary plik, klikając przycisk ze znakiem „x” w Inspektorze połączeń lub edytując wariant XML scenorysu pliku.
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Więc sprzątam, odbudowuję, zamykam Xcode, idę coś przekąsić i wrzeszczę na Maca. Nic, kompilator wskazywał na nieistniejący przycisk na nieistniejącym XIB.
Próbowałem zmienić nazwę klasy i udało się!
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
Jak sugerowano wcześniej, spróbuj wyczyścić i odbudować. Jeśli to nie zadziała, sugeruję odtworzenie interfejsu xib. U mnie to zadziałało w podobnym przypadku.