2 bluetooth99 bluetooth99 于 2013.05.30 10:12 提问

UItableview 没有显示预期图片

tableview delegate不显示图片。在UIImageView 中显示就正常。tableView来自界面生成器

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView setDelegate:self];
[tableView setDataSource:self];
static NSString *CellIdentifier = @"Cell";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
cell.accessoryView = [[UIImageView alloc] initWithImage:myimage];

return cell;

4个回答

zhanglei5415
zhanglei5415   Rxr 2013.05.30 13:47

你的问题出在设置uitableview的delegate,datasource的时机不对.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

如上方法为uitableview的协议方法,需在先指定datasource的情况下才会被调用. 正确的做法是

-(void)viewDidLoad {
        //在uitableivew load数据前,指明uitableview的delegate,datasource
       self.tableView.delegate=self;
       self.tableView.dataSource=self;
}

把在协议方法中的

[tableView setDelegate:self];
[tableView setDataSource:self];

删除,再试.应该就可以了.

KindAzrael
KindAzrael   2013.05.30 23:00

设置断点到这个方法(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
这个方法应该没有运行

你应该这xib文件中连接tableview的 delegate和datasource到file owner

u013243469
u013243469   2014.11.26 09:47

首先,你这个写法貌似有问题,我不清楚你的界面生成器指的是什么,但是

  • (UITableViewCell )tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 这个方法作为tableView的代理方法,必须有代理才能执行,但是你却把*声明代理写在代理方法里面,谁来执行这个代理方法**,你打一下断点,看程序会执行进来吗? 必须在创建这个tableView的时候就设置代理,也就是把下面这个两个方法写在tableView的初始化方法里面 [tableView setDelegate:self]; [tableView setDataSource:self];
u013243469
u013243469 如果说,你是用的是xib,也就是你说的界面生成器,你就右键一下你的tableView,里面应该是有delegate和dataSource,然后连接到你的父视图就行了
大约 3 年之前 回复
darongzi1314
darongzi1314   2015.05.08 17:56

把delegate和datasource设置在创建tableView的地方,你这个位置都写的有问题

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!