首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >代表UITableView superClass?

代表UITableView superClass?
EN

Stack Overflow用户
提问于 2010-05-11 09:46:30
回答 1查看 2.1K关注 0票数 2

一个简单的问题是,我正在为UITableView设置一个委托,我有一个关于设置委托和dataSource属性的问题。我注意到委托和dataSource的属性不可用,我认为采用这些协议将使它们可用。但我现在在想,我的代表班的超级班可能弄错了。

目前我有:

代码语言:javascript
复制
-(void)viewDidLoad {
    TestDelegate *tempDelegate = [[TestDelegate alloc] init];
    [self setMyDelegate:tempDelegate];
    // setDelegate
    // setDataSource
    [tempDelegate release];
    [super viewDidLoad];
}

我的TestDelegate接口如下所示:

代码语言:javascript
复制
@interface TestDelegate : NSObject <UITableViewDelegate, UITableViewDataSource> {
    NSArray *listData;
    int myCounter;
}

我可否问一问,上述应否是:

代码语言:javascript
复制
@interface TestDelegate : UITableView <UITableViewDelegate, UITableViewDataSource> {
    NSArray *listData;
    int myCounter;
}

加里

编辑:我认为它可能在正确的轨道上:我的委托superClass应该是NSObject,我在Interface中也有一个UITableView。

我在Xcode中添加了@property(非原子的、保留的)IBOutlet UITableView *myTableView;并将其连接到IB中的UITableView。现在,我可以通过dataSource访问Xcode中的委托和IBOutlet属性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-11 10:18:56

No子类 UITableView与仅仅遵从UITableViewDelegateUITableViewDatasource协议有区别。

如果需要表视图本身中的不同行为,则需要子类UITableView。-> 大多数时候您都不想做这个

UITableView具有delegatedataSource属性,可以将其分配给符合各自协议的对象。

如果您想要拥有对delegate dataSource 属性的顶级访问权限,则需要对 UITableViewController**.**进行子类(如果您的子类是UITableViewController,则不遵守委托协议)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2809576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档