通过@selector将数据传递给textField

时间:2012-05-18 07:33:46

标签: objective-c

我有这段代码:

UIBarButtonItem *button = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:textField action:@selector(setText:)];

如何使用setText操作发送一条信息。例如

setText:@"This is text"

谢谢。

2 个答案:

答案 0 :(得分:0)

试试这个:

[self performSelector: @selector(setText:) withObject:@"This is text" afterDelay:0.0];

答案 1 :(得分:0)

配置为操作setText:将使用(id)sender进行调用,其中sender将是您的UIButton。如果您使用的是自定义UIButton,则可以为其提供一个属性来保存您想要传递的文本,然后在您的操作方法中访问该文本。由于您使用UIBarButtonSystemItemDone,因此无法使用。

让我猜猜你想做什么:让用户输入一些文字,并在点击完成后将其传回父视图控制器。

如果是这样,试试这个:

  1. 为视图控制器提供文本字段的属性(和IBOutlet)。
  2. 访问setText:
  3. 中的内容

    因此...

    - (void)setText:(id)sender
    {
        NSString *theText = self.textField.text;
    
        // now do what you wanted...
    }
    

    我希望有所帮助。