UITextField是不合规的崩溃应用程序

时间:2009-09-26 00:40:27

标签: iphone cocoa-touch interface-builder uitextfield

我有一个非常简单的类(如下所示),但是每次运行它都会返回:

由于未捕获的异常'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

1 个答案:

答案 0 :(得分:0)

哪个对象包含一个名为'username'的字段?您可能正在使用实际上不是您认为的类型的对象。如果它试图在没有作为实例变量的对象上访问名为“username”的字段,它将崩溃。

尝试在debug(Command-Y)中运行。当应用程序崩溃时,它应该停在它崩溃的行上。此时,调出调试器窗口(Ctrl-Command-Y)并在Threads视图(调试器的左上角)中查找黑色(非灰色)的最后一行。在访问不存在的内容之前,这是您的代码的最后一行。单击该行,它应该显示导致问题的对象。

您提供的代码都没有将'username'指定为实例变量,因此它必须位于其他地方。