2

と呼ばれている。..iPhone(EXC_BAD_ACCESS付き)シミュレータがクラッシュするUITextField委任者は、だから私は自分のコントローラに積み上げいくつかのテキストフィールドを持っている

コントローラがUITextFieldDelegateを拡張したものテキストフィールドのためtextFieldDidBeginEditingハンドラそれはそうと、正常に動作しているすべての!

次に、TestTextFieldという新しいクラスから新しいテキストフィールドを追加しようとしました。

私はストーリーボードのカスタムクラスをTestTextFieldに変更し、次のように実装しました: (シミュレータが起動し、NSLogが "init!"を表示してからTestTextField NSLogプリントを押すと "begin"シミュレータはEXC_BAD_ACCESSで停止している。)

TestTextField.m

#import "TestTextField.h" 

@implementation TestTextField 

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 
    if (self) { 
     // Initialization code 
    } 
    return self; 
} 

- (id) initWithCoder:(NSCoder *) coder 
{ 
    self = [super initWithCoder:coder]; 
    NSLog(@"init!"); 
    self.delegate = self; 
    return self; 
} 

/* 
// Only override drawRect: if you perform custom drawing. 
// An empty implementation adversely affects performance during animation. 
- (void)drawRect:(CGRect)rect 
{ 
    // Drawing code 
} 
*/ 

- (void)textFieldDidBeginEditing:(UITextField *)textField 
{ 
    NSLog(@"begin"); 
} 

- (void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    NSLog(@"end "); 

} 

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField { 
    return YES; 
} 

@end 

TextField.h

#import <UIKit/UIKit.h> 

@interface TestTextField : UITextField <UITextFieldDelegate> 

@end 
+0

iOSシミュレータ4.3を使用していますか? – rishi

+0

いいえ、私は5.1を使用しています。 – netigger

答えて

0

これまでのところ、私は何が起こったのかかなり分かりました。

この問題は、XCodeの「カスタムクラス」の値がもう存在しない古い値を残していることが99%確かです。

1

私はまったく同じ問題を抱えていますが、これはiOSシミュレータ5でのみ発生するようです。

initでデリゲートを設定するとアプリがクラッシュするようです。

単にself.delegate = self行にコメントすると、エラーは削除されます。

私はself.delegate = self- (void) touchesBegan:に入れてしまいました。このようにして、誰かが入力を開始すると、私の代理人が設定されていると確信しています。

1

私はこの同じ問題に直面しています。私は最後にautocorrectionTypeを調整して解決しました。

これはあなたの問題を解決ホープautocorrectionType = UITextAutocorrectionTypeNo;

にあなたのテキストフィールドを設定してください。

関連する問題