Iphone 代理的UITableView超类?
一个简短的问题,我正在为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
-(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感到困惑,于是在一个切线上寻找错误位置的解决方案。非常感谢您的时间和评论。