如何从另一个函数调用id发送方函数?

时间:2011-06-16 05:25:17

标签: iphone ios

在下面的代码示例中,我希望能够从另一个函数btnSubmitLoginPassword调用backgroundTap。我应该通过什么参数?

-(IBAction) backgroundTap:(id)sender{

    [userName resignFirstResponder];
    [password resignFirstResponder];

}

-(IBAction) btnSubmitLoginPassword{

    [self backGroundTap:?????????]


    [self validate];


}

4 个答案:

答案 0 :(得分:14)

PengOne的回答很好,但问题的确切答案是:传递nil发送者参数:

[self backgroundTap:nil];

答案 1 :(得分:5)

你没有在行动中使用sender,为什么不把它留在外面呢?

-(IBAction) backgroundTap{
    [userName resignFirstResponder];
    [password resignFirstResponder];
}

-(IBAction) btnSubmitLoginPassword{
    [self backGroundTap];
    [self validate];
}

答案 2 :(得分:2)

您没有在方法

中使用id值
    -(IBAction) backgroundTap:(id)sender
   {

     [userName resignFirstResponder];
     [password resignFirstResponder];

    }

改为使用

  -(IBAction) backgroundTap
   {

     [userName resignFirstResponder];
     [password resignFirstResponder];

    }

然后将其调用为

  -(IBAction) btnSubmitLoginPassword{

  [self backGroundTap];

   [self validate];
   }

如果您想单独更改/访问发件人属性,则应使用(id)发件人

答案 3 :(得分:2)

通常,sender参数是UIView或生成事件的任何其他对象。在这种情况下,将使用self作为发件人。