1

昨天,我的应用程序在模拟器上运行良好。我向 XIB 添加了背景图像,并调整了一些控件的位置。现在,当我尝试运行它时,它会崩溃:

2012-10-20 21:54:00.280 Ring It Up Scorer[580:11303] * 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[setValue:forUndefinedKey:]:此类不符合键值编码关键 autoBlue1Col。*第一掷调用堆栈:(0x1ca6012 0x10e3e7e 0x1d2efb1 0xb90711 0xb11ec8 0xb119b7 0xb3c428 0x2480cc 0x10f7663 0x1ca145a 0x246bcf 0x24898d 0x2aceb 0x2b002 0x29ed6 0x3b315 0x3c24b 0x2dcf8 0x1c01df9 0x1c01ad0 0x1c1bbf5 0x1c1b962 0x1c4cbb6 0x1c4bf44 0x1c4be1b 0x297da 0x2b65c 0x1ced 0x1c15)的libc ++ abi.dylib:终止叫做抛出一个异常

autoBlueCol1 是 uiTextField 的子类的一个实例。我有 4 个类的文本字段,它崩溃的应该是它创建的第 3 个。

子类是:

#import "SPRalphaTextField.h"

@implementation SPRalphaTextField

-(void)awakeFromNib
{

   [super awakeFromNib];

    self.delegate = self;


}

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{

    if([string length]==0)
    {
        return YES;
    }

    if ([[textField text] length] + [string length] - range.length > 1)
    {
        return NO;
    }

    /*  limit to only ABC characters  */
    NSCharacterSet *myCharSet = [NSCharacterSet characterSetWithCharactersInString:@"abcABC"];
    for (int i = 0; i < [string length]; i++)
    {
        unichar c = [string characterAtIndex:i];
        if ([myCharSet characterIsMember:c])
        {
            return YES;
        }
    }

    return NO;
}

@end

这应该是一个简单的程序。我只有一种看法。我有 3 个不同的子类,但这些都是文本框。我确定我可能需要为此添加更多代码。只要让我知道有什么帮助,我会添加它。

4

2 回答 2

0

看起来您正在尝试在某处设置未定义键的值。这是错误:

[setValue:forUndefinedKey:]:这个类对于键 autoBlue1Col 不符合键值编码

您是否在应用程序的任何位置设置 autoBlue1Col 的值?如果是这样,请确保密钥的名称正确或存在。

希望这可以帮助。

于 2012-10-21T14:20:15.493 回答
-1

我发现我是通过尝试解决另一个问题来创建这个问题的。我在应用程序属性中设置了主界面。我这样做是因为该应用程序挂在加载屏幕上,所以我认为这就是问题所在。我将针对该问题创建一个新问题。

于 2012-10-21T18:39:26.067 回答