0

我有一个 iphone 应用程序,其中我有两个文本字段,并且我有四种方法可以调用这些文本字段,但问题是当我在第二种方法中更改文本字段的值时,加载时第一种方法中会显示相同的值。

    -(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);
    }

我正在更改此方法中的值,但也更改了值,我认为问题可能会在同一文本字段上调用不同的方法。

这是完整代码的代码链接

我有两个文本字段,但我在它们上调用了四种方法

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

4

1 回答 1

2

尝试tagUITextField.

首先以编程方式或在 xib 中为您的 TextFields 分配标签(如果有)。例子

[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 回答