如何判断哪个对象称为委托方法(objective c)

时间:2010-06-06 09:50:09

标签: objective-c delegates variables uitextview

假设您的班级中有两个对象(例如,UITextviews,但它可以是任何类型)。当文本视图发生更改时,您有一个捕获更改的委托方法..但是如何以编程方式告诉WHICH对象已更改并调用委托?

(可能的想法)基本上如何获得委托对象引用的变量名?

我必须遗漏一些东西,因为这应该是微不足道的,但我找不到任何东西。 注意:在这种情况下,它不可能只是将类拆分为只有一个对象(通过绕过歧义)..我找了像nsobjects的指定变量名这样的东西,没有那里

这是委托方法

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {

}

3 个答案:

答案 0 :(得分:0)

通常,委托方法会以:(id) sender的形式接收参数,其中sender是发送邮件的实际组件,您可以将其与字段sender == textField1进行比较

答案 1 :(得分:0)

假设您有两个名为UITextViewtextView1的{​​{1}}属性,这些属性设置为两个文本视图(通过IB或代码),您可以这样做:< / p>

textView2

答案 2 :(得分:0)

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

我强调了一下。这是发送委托消息的文本视图。