2017-02-28 10 views
1

私はクラスにnilに設定されているプロパティを持っていますが、何をしているのかわかりません。私はそれにシンボリックなブレークポイント(ウォッチポイント)を設定しましたが、それをキャッチしていません、私はセッターにも典型的なブレークポイントを設定して、それをキャッチしていません。プロパティは不思議なことに背中の背後でゼロに設定されています

activeTextFieldプロパティの目的は何ですか? ユーザーがフィールドにデータを入力すると、表示されているキーボードによってそのフィールドがブロックされると、フィールドを表示するのに十分な画面がスライドされます。

だから、何かが値を設定textFieldDidBeginEditingのポイント間で起こっている、とキーボードが表示され、文字通り一つの他の直後、および毎回、keyboardWasShownに、私のactiveTextField = nilのです。

これがnilに設定されている理由を確認するにはどうすればよいですか?

@property (nonatomic, retain) UITextField *activeTextField; 

-(void)setActiveTextField:(UITextField *)activeTextField 
    { 
     _activeTextField = activeTextField; 
    } 


-(void)textFieldDidBeginEditing:(UITextField *)textField 
    { 
     self.activeTextField = textField; 
    } 



-(void)textFieldDidEndEditing:(UITextField *)textField 
    { 
     self.activeTextField = nil; 
    } 



-(void)keyboardWasShown:(NSNotification *)aNotification 
    { 
     if (self.activeTextField == nil) 
      { 
       return; 
      } 
+0

textFieldDidEndEditingが呼び出されていないことを確認しましたか? –

+0

keybaordWasShownとtextFieldDidBeginEditingが同じスレッドで実行されていることを確認しましたか? –

+0

NSLog on textFieldDidEndEditingそれが呼び出されるかどうかを確認します。それは確かに確かです。 – GeneCode

答えて

0

ダムプログラマーエラーです。上記のコードから継承する2つのクラスがあり、それらはほぼ同じ名前を持ち、1つはキーボード通知用に登録され、もう1つは登録されていないので、結果が非​​常に混乱しました。

+2

私は私の席の端に...! – matt

関連する問題