昨日、私のアプリはシミュレーターで問題なく動作しました。背景画像を 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 つの異なるサブクラスがありますが、それらはすべてテキスト ボックスです。おそらくこれにさらにコードを追加する必要があると確信しています。何が役立つか教えてください。追加します。