2015-04-20 3 views
1

Ошибка возникает, когда кнопка ссылается на контроллер вида. Я отчаянно пытаюсь решить эту проблему. Я также довольно новичок в Xcode.Xcode 6 Неизвестный класс в файле Interface Builder

Я пытался, но ни один из них не работал:

  • Неизвестный класс в Interface Builder файл Xcode ошибку
  • Xcode 6 Странная ошибка: Неизвестный класс в интерференционной Builder файл
  • XCode Неизвестный класс * **** в Interface Builder файл

ошибка:

2015-04-19 15:17:32.565 *****[*******] Unknown class ******* in Interface Builder file. 
2015-04-19 15:17:32.671 *****[********] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0x7aecbd00> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key ********.' 
*** First throw call stack: 
(
0 CoreFoundation      0x01ff7466 __exceptionPreprocess + 182 
1 libobjc.A.dylib      0x01c80a97 objc_exception_throw + 44 
2 CoreFoundation      0x01ff7081 -[NSException raise] + 17 
3 Foundation       0x0190380e -[NSObject(NSKeyValueCoding) setValue:forUndefinedKey:] + 282 
4 Foundation       0x0185f838 _NSSetUsingKeyValueSetter + 115 
5 Foundation       0x0185f7bd -[NSObject(NSKeyValueCoding) setValue:forKey:] + 267 
6 Foundation       0x018950a6 -[NSObject(NSKeyValueCoding) setValue:forKeyPath:] + 386 
7 UIKit        0x0097e329 -[UIRuntimeOutletConnection connect] + 106 
8 libobjc.A.dylib      0x01c96724 -[NSObject performSelector:] + 62 
9 CoreFoundation      0x01f30dbc -[NSArray makeObjectsPerformSelector:] + 316 
10 UIKit        0x0097cdea -[UINib instantiateWithOwner:options:] + 1775 
11 UIKit        0x0079e2a4 -[UIViewController _loadViewFromNibNamed:bundle:] + 270 
12 UIKit        0x0079ea3b -[UIViewController loadView] + 295 
13 UIKit        0x0079ec6f -[UIViewController loadViewIfRequired] + 78 
14 UIKit        0x0079f215 -[UIViewController view] + 35 
15 UIKit        0x00e14ca7 -[_UIFullscreenPresentationController _setPresentedViewController:] + 75 
16 UIKit        0x00774551 -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 113 
17 UIKit        0x007ac6e1 -[UIViewController _presentViewController:withAnimationController:completion:] + 2102 
18 UIKit        0x007af252 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 345 
19 UIKit        0x007af0a4 -[UIViewController presentViewController:animated:completion:] + 224 
20 UIKit        0x007af56a -[UIViewController presentModalViewController:animated:] + 57 
21 UIKit        0x00c786cd -[UIStoryboardModalSegue perform] + 271 
22 UIKit        0x00c65d89 -[UIStoryboardSegueTemplate _perform:] + 217 
23 UIKit        0x00c65e05 -[UIStoryboardSegueTemplate perform:] + 116 
24 libobjc.A.dylib      0x01c967cd -[NSObject performSelector:withObject:withObject:] + 84 
25 UIKit        0x00648340 -[UIApplication sendAction:to:from:forEvent:] + 99 
26 UIKit        0x006482d2 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 64 
27 UIKit        0x0077ca56 -[UIControl sendAction:to:forEvent:] + 69 
28 UIKit        0x0077ce73 -[UIControl _sendActionsForEvents:withEvent:] + 598 
29 UIKit        0x0077c0dd -[UIControl touchesEnded:withEvent:] + 660 
30 UIKit        0x00698ffa -[UIWindow _sendTouchesForEvent:] + 874 
31 UIKit        0x00699ad5 -[UIWindow sendEvent:] + 791 
32 UIKit        0x0065ebb1 -[UIApplication sendEvent:] + 242 
33 UIKit        0x0066ebf6 _UIApplicationHandleEventFromQueueEvent + 21066 
34 UIKit        0x00642bc7 _UIApplicationHandleEventQueue + 2300 
35 CoreFoundation      0x01f1a98f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15 
36 CoreFoundation      0x01f1049d __CFRunLoopDoSources0 + 253 
37 CoreFoundation      0x01f0f9f8 __CFRunLoopRun + 952 
38 CoreFoundation      0x01f0f37b CFRunLoopRunSpecific + 443 
39 CoreFoundation      0x01f0f1ab CFRunLoopRunInMode + 123 
40 GraphicsServices     0x039022c1 GSEventRunModal + 192 
41 GraphicsServices     0x039020fe GSEventRun + 104 
42 UIKit        0x006469b6 UIApplicationMain + 1526 
43 Goals        0x0006d0bd main + 141 
44 libdyld.dylib      0x0450bac9 start + 1 
) 
libc++abi.dylib: terminating with uncaught exception of type NSException 
(lldb) 
+0

Вы подтвердили, что контроллер просмотра, связанный с кнопкой, имеет правильный класс в инспекторе идентификации? –

+0

Я последовал за одним из ответов, который сказал, что просто набирает класс с именем, потому что класс не появится в инспекторе идентификации –

+0

Вы уверены, что набрали его правильно? –

ответ

1

Это связано с тем, что вы изменили имя свойства IBOutlet в своем .h/.m, которое вы уже подключили к владельцу файла в nib.

Из вашего пера:

Выберите объект в IB и перейдите в 'Connections Inspector'. В разделе «Реферирование выходных данных» убедитесь, что ваш объект еще не подключен к старому имени свойства ... если он есть, щелкните маленький «x», чтобы удалить ссылку и снова создать.

1

1. Unknown class in Interface Builder file Xcode error означает один из ваших ViewController в StoryBoard связанной с unknown Class. Просто проверьте внимательно.

2.После сообщения об ошибке, reason: '[<UIViewController 0x7aecbd00> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key. Но, не имея конкретных кодов, я могу просто рекомендовать вам некоторые «решения».

В качестве примера я напишу функцию storeData. И objectA - это переменная экземпляра вашего класса DataObject.

func storeData() { 
let defaults = NSUserDefaults.standardUserDefaults() 
var data = NSKeyedArchiver.archivedDataWithRootObject(objectA) 
defaults.setValue(data, forUndefinedKey: "DataBase") // The error occur in there 
} 
  • Смотрите, что data, который является сжатие objectA. И objectA был унаследован от Class, который упоминается в this class is not key value coding-compliant for the key.
  • forUndefinedKey является разновидностью знака или наименования, которое ведет к сбоям, чтобы найти правильные данные.

  • Решение: Я предполагаю, что ошибка произошла в процессе ввода-вывода для данных. Поэтому проверьте каждую функцию и блок ввода-вывода, чтобы убедиться, что если не сжатие этого параметра, data, унаследовано от того же класса.

PS: Если вы собираетесь использовать NSUserDefaults для хранения данных, вы должны понимать NSKeyedArchiver и NSKeyedUnarchiver, которые, как Zip для сжатия данных. Компилятор будет Archive ваших данных при обработке данных хранения и Unarchive данных при обработке данных.

Смежные вопросы