0

私は2つのテキストフィールドがあり、それらのテキストフィールドで呼び出す4つのメソッドがあるiPhoneアプリケーションを持っていますが、テキストフィールドの値を2番目のメソッドで変更すると、読み込み中に同じ値が最初のメソッドに表示されるという問題があります。

    -(void)textFieldTextDidChangeOneF:(UITextField*)tf{

        NSLog(@"Testing Successful Fatal One");

        appDelegate.p_Fatal_Yes_NV_InModel  = [[textFieldOne text] floatValue];
        appDelegate.p_Fatal_No_NV_InModel=100-appDelegate.p_Fatal_Yes_NV_InModel;

        textFieldTwo.text=[NSString stringWithFormat:@"%.2f",appDelegate.p_Fatal_No_NV_InModel];

        NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789."] invertedSet];
        NSString*string=textFieldOne.text;
        if ([string rangeOfCharacterFromSet:set].location != NSNotFound) {
            UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"Warning" message:@"Only a number can be entered into this input field " delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
            [alert show];
            [alert release];
            textFieldOne.text=@"";
        }

        NSLog(@"Fata Data %.2f",appDelegate.p_Fatal_Yes_NV_InModel);
    }

このメソッドの値を変更していますが、値も変更されています。問題が同じテキストフィールドで異なるメソッドを呼び出す可能性があると思います。

ここに完全なコードのコードリンクがあります

2 つのテキストフィールドがありますが、それらに対して 4 つのメソッドを呼び出しています

http://paste.bradleygill.com/index.php?paste_id=4011

4

1 に答える 1

2

tagでプロパティを使用してみてくださいUITextField

最初に、プログラムで、または xib がある場合は xib で、TextField にタグを割り当てます。例

[txtFieldOne setTag:100];
[txtFieldTwo setTag:101];

次に、次のようなタグを使用して、テキスト フィールドでのアクションを区別します

-(void)textFieldTextDidChangeOneF:(UITextField*)tf
{
    switch (tf.tag) {
        case 100:
            NSLog(@"action on text field one"); 
        break;

        case 101:
            NSLog(@"action on text field two");
        break;

        default:
        break;
    }
} 
于 2013-03-28T04:09:14.277 に答える