对于按钮的目标,我们可以使用除self之外的其他对象吗?

时间:2011-03-30 07:51:48

标签: iphone objective-c cocoa-touch

在此代码中,我们可以使用另一个带addTarget的对象代替self:

[nextMonthButton addTarget:self 
                    action:@selector(showFollowingMonth) 
          forControlEvents:UIControlEventTouchUpInside];

如果是,那些对象是什么?

3 个答案:

答案 0 :(得分:4)

另一个对象只需响应showFollowingMonth,所以通常它会是你创建的自定义类。

答案 1 :(得分:0)

它几乎可以是任何活着的对象,并且能够响应给定的选择器。

但是,对于需要操纵视图的视觉反馈操作,无论如何,留在控制器中将是最好的策略。

答案 2 :(得分:0)

它可以是任何对象,但是当您将其添加为目标时,该按钮不会保留该对象,因此只要按钮位于周围,您的对象就必须持续存在,并且知道在按钮时释放该对象被解除分配。这通常很难做到,除非该对象是包含该按钮的视图的控制器,或者属于这种控制器的某个对象。