相关疑难解决方法(0)

这是什么意思?"'NSUnknownKeyException',原因:...此类不是键值X的键值编码兼容"

我正在尝试将a UILabelIBOutlet我班级中的创建链接起来.

我的应用程序崩溃,出现以下错误.这是什么意思?我该如何解决?

***由于未捕获的异常'NSUnknownKeyException'终止应用程序,原因:'[<UIViewController 0x6e36ae0> setValue:forUndefinedKey:]:此类不是密钥XXX的密钥值编码.

macos cocoa cocoa-touch interface-builder ios

1143
推荐指数
28
解决办法
83万
查看次数

Swift NSUnknownKeyException

一两天前开始学习Swift.我遇到这个错误的次数比我想要的多 - 基本上,我意识到它与IBOutlets有关.删除故事板中的所有插座和按钮/对象,并手动重新添加它们似乎可以解决问题.

将来如果发生这个错误,并且我正在开展一个大型项目,我想知道如何诊断它是哪个IBOutlet,或者是什么导致它.

我有项目副本GitHub上这里如果有人想看看,并留下意见的几句话.

非常感谢提前!

2015-06-04 22:24:31.607 Controlling The Keyboard[1343:16382] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<Controlling_The_Keyboard.ViewController 0x7f80896418b0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key enterButton.'
*** First throw call stack:
(
    0   CoreFoundation                      0x0000000104855c65 __exceptionPreprocess + 165
    1   libobjc.A.dylib                     0x00000001063c0bb7 objc_exception_throw + 45
    2   CoreFoundation                      0x00000001048558a9 -[NSException raise] + 9
    3   Foundation                          0x0000000104c73b53 -[NSObject(NSKeyValueCoding) setValue:forKey:] + 259
    4   CoreFoundation                      0x000000010479dd50 -[NSArray makeObjectsPerformSelector:] + 224
    5   UIKit                               0x00000001053cc52b -[UINib instantiateWithOwner:options:] …
Run Code Online (Sandbox Code Playgroud)

swift nsunknownkeyexception

5
推荐指数
1
解决办法
1万
查看次数

类与键的键值编码不兼容

我的应用程序在启动时崩溃并出现以下错误:

由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[ setValue:forUndefinedKey:]: 此类与键 tableViewChannels 的键值编码不兼容。

这是一个我继承并重新设计的项目。我最初认为 tableViewChannels 是一个旧数组,但我已经在 XCode 中搜索了整个项目,但它没有出现在任何地方。

我使用我最喜欢的文本编辑器进入故事板查看原始 XML,并且确实找到了两个“tableViewChannels”实例,它们似乎是旧的 IBOutlets(它们实际上不再出现在视觉故事板中)。我删除了两者,保存,清理了构建文件夹,重新启动了 XCode,但仍然因完全相同的错误而崩溃。我对这段代码仍然潜伏在项目中的什么地方感到困惑。我很感激任何帮助。谢谢!

storyboard ios

4
推荐指数
1
解决办法
6011
查看次数

将两个零参数传递给initWithNibName:bundle:方法不好的做法(即不安全或更慢)?

根据评论UIViewController意见initWithNibName:bundle:

If you invoke this method with a nil nib name, then this class' -loadView method will attempt to load a NIB whose name is the same as your view controller's class.

我总是将我的笔尖命名为视图控制器.

将nil传递给两个参数而不是nib名称字符串是不好的做法(即不安全,速度慢,或者可能导致问题)?

想要这样做的主要驱动力是我发现在Xcode中使用重构选项不会重命名nib名称字符串(只有类名称,无论它们在哪里使用).因此,如果不小心返回并在任何地方重命名,这会导致崩溃.

cocoa-touch objective-c ios

1
推荐指数
1
解决办法
1041
查看次数

NSUnknownKeyException ios目标C.

我为我的ios应用程序创建了一个幻灯片抽屉..幻灯片抽屉工作得很好...我在幻灯片抽屉中有几个按钮和一个文本框...问题是每当我尝试添加对按钮/文本框的引用时在幻灯片抽屉里,我得到了NSUnknownKeyException ...我不知道如何解决这个问题,因为我在IO中很新...包括下面的代码......

SlideDrawer.h

#import <UIKit/UIKit.h>

@interface SlideDrawer : UIViewController
@property (strong, nonatomic) IBOutlet UIButton *home;
- (IBAction)homeclick:(id)sender;
@end
Run Code Online (Sandbox Code Playgroud)

SlideDrawer.m

#import "SlideDrawer.h"
@interface SlideDrawer ()
@end
@implementation SlideDrawer
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
 - (IBAction)homeclick:(id)sender {
}
@end
Run Code Online (Sandbox Code Playgroud)

MainViewController.h

#import <UIKit/UIKit.h>

@interface mainViewController : UIViewController{
UIView *menuDrawer;
}

@property (readonly, nonatomic) UISwipeGestureRecognizer     *recognizer_open, *recognizer_close;
@property (readonly, …
Run Code Online (Sandbox Code Playgroud)

objective-c ios nsunknownkeyexception

1
推荐指数
1
解决办法
939
查看次数