1

昨日、私のアプリはシミュレーターで問題なく動作しました。背景画像を XIB に追加し、一部のコントロールの位置を微調整しました。実行しようとすると、次のようにクラッシュします。

2012-10-20 21:54:00.280 RIng It Up Scorer[580:11303] * キャッチされない例外 'NSUnknownKeyException' が原因でアプリを終了しています。理由: '[ setValue:forUndefinedKey:]: このクラスはキー値のコーディングに準拠していませんキー autoBlue1Col.' * First throw call stack: (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 called throwing an exception

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 に答える