UITableView使用xib文件,NSObject子类并在UIViewController中使用

时间:2016-01-18 11:46:33

标签: ios objective-c uiviewcontroller xib nsobject

  1. 我在Xcode创建了一个视图项目,默认情况下包含ViewController个文件。
  2. 我创建了一个名为NSObject的{​​{1}}子类。
  3. MyClass中的#import <UIKit/UIKit.h>
  4. MyClassMyClassUITableViewDelegate
  5. 确认
  6. 实施了UITableViewDatasourceUITableViewDelegate
  7. 所需的方法
  8. 我创建了一个UITableViewDatasource文件,在UIView中我拖了xib
  9. 我将xib文件UITableView类设置为files owner
  10. 在xib文件中设置MyClass委托和数据源。
  11. UITableView ViewController我做了这个

    viewDidAppear
  12. 但我在UIView *subView1=[[[NSBundle mainBundle] loadNibNamed:@"View1" owner:self options:nil] objectAtIndex:0]; MyClass *c = [[MyClass alloc]init]; [self.view addSubview:subView1];

    上收到此错误
    [self.view addSubview:subView1];

    在xcode控制台中,我做了-[ViewController tableView:numberOfRowsInSection:]: unrecognized selector sent to instance 0x10027adc0 po 0x10027adc0

    我正在尝试使用ViewControllerxib file子类创建UITableView的功能,以便我可以在NSObject类中的任何地方重用它。

    我做错了什么?

1 个答案:

答案 0 :(得分:0)

在创建名为MyClass的NSObject子类时。你也可以使用TableView Delegate&amp; amp;数据源。但它有点像NSObject。而不是创建UIViewUIViewController类型类。

而且,如果你想构建一次代码&amp;多次使用它,所以请改为使用UITableViewController的子类,或者使用扩展方法生成UITableViewController的Category类。