我有一个非常简单的类(如下所示),但是每次运行它都会返回:
由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不是键字段1的键值编码兼容。'
我正在通过以下方式将此nib文件绘制到屏幕上:
UIViewController *backViewController = [[UIViewController alloc] initWithNibName:@"myViewBack" bundle:[NSBundle mainBundle]];
UIView *backView = backViewController.view;
[self addSubview:backView];
以下是我设置为文件所有者的类的代码:
·H
#import <Foundation/Foundation.h>
@interface myViewBack : NSObject {
IBOutlet UITextField *field1;
IBOutlet UITextField *field2;
IBOutlet UIView *view;
}
@property (nonatomic, retain) IBOutlet UITextField *field1;
@property (nonatomic, retain) IBOutlet UITextField *field2;
@end
的.m
#import "myViewBack"
@implementation myViewBack
@synthesize field1;
@synthesize field2;
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
@end
答案 0 :(得分:0)
哪个对象包含一个名为'username'的字段?您可能正在使用实际上不是您认为的类型的对象。如果它试图在没有作为实例变量的对象上访问名为“username”的字段,它将崩溃。
尝试在debug(Command-Y)中运行。当应用程序崩溃时,它应该停在它崩溃的行上。此时,调出调试器窗口(Ctrl-Command-Y)并在Threads视图(调试器的左上角)中查找黑色(非灰色)的最后一行。在访问不存在的内容之前,这是您的代码的最后一行。单击该行,它应该显示导致问题的对象。
您提供的代码都没有将'username'指定为实例变量,因此它必须位于其他地方。