-1

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

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

1 回答 1

0

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

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

您提供的代码都没有将“用户名”指定为实例变量,因此它必须在其他地方。

于 2009-09-26T05:37:02.757 回答