2012-01-04 12 views
-2
if(Field<8) 
     { 
      [Field1 resignFirstResponder]; 
      NSString *FieldName = [NSString stringWithFormat:@"Field%i",Field]; 
      NSLog(@"%@",FieldName); 
      [(UITextField *)FieldName resignFirstResponder]; 
      Field++; 
      FieldName = [NSString stringWithFormat:@"Field%i",Field]; 
      [FieldName becomeFirstResponder]; 
     } 

私はこのコードを持っています。[Field1 resignFirstResponder];私はフィールド名を毎回自動的にインクリメントするField%iメソッドを使用していましたが、プログラムは[(UITextField *)FieldNameラインでクラッシュしています。その上のNslogはField1を出力しています正しい。あるUITextFieldから別のUITextFieldにジャンプするときにプログラムがクラッシュする

アイデア?

私の答えは後で正しいとマークしますので、今は私を許可しません。 編集 ここで私の解決策への答えが見つかりました ありがとうございました。 http://www.iphonedevsdk.com/forum/iphone-sdk-development/77945-jumping-across-text-fields.html

+0

フィールド1とは何ですか? – Tendulkar

+0

Field1 Field2 Field3フィールドは、すべて循環するUitextFieldです。 – Shubhank

+0

回答を追加して選択します。 –

答えて

0

[(UITextField *)FieldName resignFirstResponder];あなたはUITextField.Thisに文字列を変換している上記の行で

は、それはあなたがそれがクラッシュしている理由である UITextFieldNSStringを変換することはできません

+0

私は私もまたそれがクラッシュしていることを知っている私は知っている..しかし、これは動的な入力に考慮され.. ..なぜそれは間違っている?あなたがField1 Field2のような増分でフィールドを選択するだけで次のフィールドにジャンプすることができます。 – Shubhank

1

をクラッシュされている理由incorrect.Thatだです。

NSArray *myTextFields = [NSArray arrayWithObjects:Field1, Field2, nil]; 

そして、それを反復して実行します:

for (UITextField* myField in myTextFields) 
{ 
    [myField resignFirstResponder]; 
} 
+0

答えに感謝しますが、これを行う方法を伝えることができれば本当に役に立ちます:私はしたい入力パスワード..私は4つのテキストフィールドを入力し、各文字の後に私は達成したいものです次の最初のレスポンダーを作成します。 – Shubhank

0

は、あなたのUITextFieldオブジェクトの配列を作成します。代わりに、あなたは、私がこのようにNSArrayを作成することをお勧めしたいものを達成するために

フィールド1、 Field2 .... 次の受信機を扱うほうが簡単です。

関連する問題