【问题标题】:UITableView programmatically create delegate object?UITableView 以编程方式创建委托对象?
【发布时间】:2010-05-10 16:31:38
【问题描述】:

我有一个关于设置用于 UITableView 的自定义委托类的问题。我所做的如下:

  • 设置一个新类(在该类的单独 *.h 和 *.m 文件中)
  • 使新类符合<UITableViewDelegate, UITableViewDataSource> 协议
  • 添加了所需的方法。
  • 使用 @property 和 IBOutlet 创建了指向新对象的指针。
  • 在 InterfaceBuilder 中创建对象模板并将其分配给我的新类
  • 已分配数据源和委托连接。

这一切都很好。我的问题是,如果我不想使用 interfaceBuilder 来设置和实例化我的新委托类,我该如何在 Xcode 中进行呢?更具体地说,我将如何:

  • 实例化委托类,它会由控制器创建/拥有吗?
  • 设置数据源和委托连接?
  • 最好的方法是什么?

【问题讨论】:

    标签: iphone objective-c cocoa-touch


    【解决方案1】:

    在您的视图控制器中,创建委托类的新实例并将其分配给您的属性,确保删除 IBOutlet

    MyDelegateClass * delegateClass = [[MyDelegateClass alloc] init];
    [self setMyProperty:delegateClass];
    [delegateClass release];
    

    您可以通过以下方式设置 tableview 的委托和数据源:

    [myTableView setDelegate:self.myProperty];
    [myTableView setDatasource:self.myProperty];
    

    你应该把这些都放在viewDidLoad

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-10
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-01
      • 2011-09-29
      • 2013-12-20
      相关资源
      最近更新 更多