iOS(iPad)应用程序在加载后在模拟器中崩溃

时间:2012-10-21 05:11:42

标签: objective-c ipad ios6

昨天,我的应用在模拟器上运行正常。我在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:terminate调用抛出异常

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个不同的子类,但这些都是文本框。我确定我可能需要为此添加更多代码。只是让我知道什么会有所帮助,我会添加它。

2 个答案:

答案 0 :(得分:0)

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

[setValue:forUndefinedKey:]:此类不是键值autoBlue1Col的键值编码

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

希望这有帮助。

答案 1 :(得分:-1)

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