Iphone 代理的UITableView超类?

Iphone 代理的UITableView超类?,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,一个简短的问题,我正在为UITableView设置一个委托,我有一个关于设置委托和数据源属性的问题。我注意到委托和数据源的属性不可用,我认为采用这些协议可以使它们可用。但是我现在在想,我的委托类的超类可能是错误的 目前我有: -(void)viewDidLoad { TestDelegate *tempDelegate = [[TestDelegate alloc] init]; [self setMyDelegate:tempDelegate]; // setDeleg

一个简短的问题,我正在为UITableView设置一个委托,我有一个关于设置委托和数据源属性的问题。我注意到委托和数据源的属性不可用,我认为采用这些协议可以使它们可用。但是我现在在想,我的委托类的超类可能是错误的

目前我有:

-(void)viewDidLoad {
    TestDelegate *tempDelegate = [[TestDelegate alloc] init];
    [self setMyDelegate:tempDelegate];
    // setDelegate
    // setDataSource
    [tempDelegate release];
    [super viewDidLoad];
}
我的TestDelegate界面如下所示:

@interface TestDelegate : NSObject <UITableViewDelegate, UITableViewDataSource> {
    NSArray *listData;
    int myCounter;
}
@接口测试委托:NSObject{
NSArray*列表数据;
国际货币基金组织;
}
请问上述情况是否应该是:

@interface TestDelegate : UITableView <UITableViewDelegate, UITableViewDataSource> {
    NSArray *listData;
    int myCounter;
}
@接口测试委托:UITableView{
NSArray*列表数据;
国际货币基金组织;
}
加里

编辑:我认为这可能是正确的:我的委托超类应该是NSObject,我在Interface Builder中也有一个UITableView


我添加了@property(非原子,保留)IBOutlet UITableView*myTableView;我现在可以通过IBOutlet访问Xcode中的委托和数据源属性。

子类化
UITableView
与仅符合
UITableViewDelegate
UITableViewDatasource
协议之间存在差异

如果需要表视图本身中的不同行为,则需要将
UITableView
子类化。->大多数情况下,您不想这样做

UITableView
具有
delegate
dataSource
属性,您可以将其分配给符合相应协议的对象


如果您希望对
委托
数据源
属性具有顶级访问权限,则需要对
UITableViewController
进行子类化(如果将
UITableViewController
进行子类化,则不符合委托协议)。

似乎没有问题。“委托和数据源的属性不可用”是什么意思UITableView具有这些属性。“采用协议将使其可用”是什么意思?嗨,Paul,我感到困惑,基本上我试图在Xcode中设置UITableView>delegate和UITableView>dataSource,但对如何操作感到困惑。我所缺少的是,与您在IB中添加的所有项目一样,如果您想通过Xcode访问它们,则需要使用IBOutlet创建指向相应对象的指针。您好,Jacob,您的权利,我对如何通过Xcode访问IB中的UITableView感到困惑,于是在一个切线上寻找错误位置的解决方案。非常感谢您的时间和评论。