Objective c Cocoa:使用ifs/开关测试同一对象

Objective c Cocoa:使用ifs/开关测试同一对象,objective-c,cocoa-touch,object,ipad,instances,Objective C,Cocoa Touch,Object,Ipad,Instances,好的,这是我的代码,它非常有效: - (void)textViewDidChange:(UITextView *)textView{ if (textView==someObject) { [detailItem setValue:textView.text forKey:@"someObjectAttribute"]; } 问题是我有很多TextView实例要测试,我更愿意找到其他方法来整合代码。我在想一个开关之类的东西,但我不知道它是怎么工作的。有什么想法吗?一种方法是使用每个视图

好的,这是我的代码,它非常有效:

- (void)textViewDidChange:(UITextView *)textView{
 if (textView==someObject) {
  [detailItem setValue:textView.text forKey:@"someObjectAttribute"];
 }

问题是我有很多TextView实例要测试,我更愿意找到其他方法来整合代码。我在想一个开关之类的东西,但我不知道它是怎么工作的。有什么想法吗?

一种方法是使用每个视图的整数标记。在您的代码中,您将拥有如下枚举:

enum
{
    kThingView,
    kOtherView,
    ...
};
在IB中或以编程方式设置视图时,适当设置每个视图的标记。然后:

- (void) textViewDidChange:(UITextView *)textView
{
    switch (textView.tag)
    {
        case kThingView:
            ...
    }
}