Cocoa:使用ifs / switch测试同一个对象

时间:2010-05-03 22:46:39

标签: objective-c cocoa-touch object ipad instances

好的,所以这是我的代码,效果很好:

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

问题是我有很多要测试的textview实例,我宁愿找到其他方法来整合代码。我在考虑像开关这样的东西,但我不知道它会如何起作用。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

一种方法是使用每个视图的整数标记。在你的代码中,你有一个类似的枚举:

enum
{
    kThingView,
    kOtherView,
    ...
};

在IB中或以编程方式设置视图时,每个视图的标记都已正确设置。然后:

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