0

この問題について多くの質問があることは知っていますが、それらのすべてを読みましたが、まだ問題があります。他のすべての質問では、解決策がプロパティを追加していたか、それを ViewController にリンクするのを忘れていた場合です。私はそれをすべてやりましたが、まだ更新されません!

私の .h:

@property(strong,nonatomic) IBOutlet UITextField *textField;

-(void)setCoords:(NSString *)coordinates tag:(int)tag;

.m

@synthesize textField;

別のビューからの切り替え中に呼び出されるテキストを設定する関数:

-(void)setCoords:(NSString *)coordinates tag:(int)tag {
    NSLog(@"1 %@", textField);
    textField = [[UITextField alloc] initWithFrame:CGRectMake(0,0,206,30)];
    NSLog(@"2 %@", textField);
    if (tag == 0) {
       [textField setText:coordinates];
       [self.view addSubview:textField];
       NSLog(@"3 %@", textField);
    }
    NSLog(@"%@", textField.text);
}    

outputからNSLogは常にですが、文字列のみの場合は文字列を取得しますNULLNSLogcoordinates

私が見逃している/知らない/間違っていることはありますか?

更新機能を更新しました

NSLog 1 loggs NULL
NSLog 2 loggs <UITextField> 0x855b300; frame: = (0 0; 206 30) and some more stuff.
NSLog 3 loggs same as log 2
4

3 に答える 3

0

最初にテキスト フィールドをログに記録します (nil の場合もあります)。次に、テキスト フィールドのタグをログに記録し、最後に座標文字列をログに記録します。再実行。これで問題がわかりました。

于 2013-06-02T12:51:55.940 に答える
0

あなたの if (tag == 0) [textField setText:(coordinates)];ラインは実行されません。

tag==0true に検証されてはならない場合は、条件を確認してください。

于 2013-06-02T12:49:07.010 に答える