代码之家  ›  专栏  ›  技术社区  ›  robinjam

重写子视图控制器的属性与通过父视图控制器设置它们

  •  0
  • robinjam  · 技术社区  · 16 年前

    如果要通过更改视图控制器的某个属性的值来修改其默认行为,是否认为

    1. 实例化类并直接设置其属性,或者

    2. 子类化它并重写属性?

    对于前者,父视图控制器将负责配置其子视图,而对于后者,子视图控制器将有效地配置自己。

    编辑:更多信息:

    我所指的类是fetchedtableviewcontroller,这是uitableviewcontroller的一个子类,我创建它是为了显示核心数据获取操作的结果。

    有两个地方我想显示一个回迁的结果,它们都有不同的回迁请求。

    我试图决定是否最好为每个类创建一个子类,并重写fetchrequest属性,或者让父控制器负责为其子控制器设置fetchrequest属性。

    2 回复  |  直到 16 年前
        1
  •  0
  •   Steven Fisher    16 年前

    根据您的描述,这听起来像是一个您应该提供自己init的地方:

    - (id)initWithParamterINeed: (BOOL)aParameter;
    {
        if (( self = [super initWithNibName: @"MyNibName" bundle: nil] )) {
            parameter = aParameter;
        }
        return self;
    }
    
        2
  •  0
  •   Ben Gottlieb    16 年前

    一般来说,cocoa被设计成最小化子类(因此广泛使用委托)。也就是说,uiviewcontroller是一个专门设计为子类的类。既然代码最好保持“本地”,我建议使用子类化。