iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – UIViewController中的Xcode 5.1 UITableView – 自定义TableViewCell Outlets为零大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_197_1@
我有一个UITableView作为UIViewController中的子视图.我没有使用UITableViewController,因为我有一些与tableview无关的其他内容占用了部分屏幕.我正在使用故事板.我将tableview设置为插座,viewcontroller是数据源和委托.如果我在这种情况下使用标准的UITableViewCell,一切运行良好,我可以加载内容.

我需要为此tableview使用自定义UITableViewCell,因此我执行了以下步骤:

>创建了一个名为SWTableViewCell的UITableView子类
>在viewDidLoad中添加一个调用,用接口@L_874_11@器注册单元格:[self.tableView registerClass:[SWTableViewCell class] forCellReusEIDentifier:@“Cell”];
>在我的tableview的故事板中,将原型单元的Class设置为SWTableViewCell
>在故事板中,将单元格重用标识符设置为“Cell”
>在故事板上为原型单元添加了一些标签
>仍然在故事板中,按住Ctrl键从标签拖动到SWTableViewCell.h以创建出口
>在我的cellForRowATindexPath:方法中,将单元格出列并转换为自定义子类:SWTableViewCell * cell =(SWTableViewCell *)[tableView dequeueReusableCellWithIdentifier:@“Cell”];

检查时,单元格变量是正确的类型.它不是UITableViewCell,而是SWTableViewCell.但没有一个网点人口稠密.属性存在,但它们是零.我敢肯定有一个我必须要忘记的联系,但我想不出我在这一点上跳过的任何事情.

这种情况是否可行,或者它是否只能通过IB和故事板工作?

解决方法

删除呼叫

[self.tableView registerClass:[SWTableViewCell class] forCellReusEIDentifier:@"Cell"];

解决了这个问题.

我不知道这个方法究竟是做什么的,因为我从未使用它,所以我会调查一下.如果有人有关于某些信息的信息,请告诉我们!

编辑:

因此,registerClass:forCellReusEIDentifier:背后的想法是它告诉tableView如何创建新的单元格.这样,如果dequeueReusableCellWithIdentifier:不返回单元格(如果队列为空),则tableView知道如何创建新单元格,并且您不需要手动创建一个单元格.

编辑2:

我找到了this个帖子,其中说:

只需调用dequeueReusableCellWithReusEIDentifier:将“激活”tableView的单元重用功能.

所以registerClass:forCellReusEIDentifier:只有在不使用故事板的情况下手动构建单元格时才会被调用.

大佬总结

以上是大佬教程为你收集整理的ios – UIViewController中的Xcode 5.1 UITableView – 自定义TableViewCell Outlets为零全部内容,希望文章能够帮你解决ios – UIViewController中的Xcode 5.1 UITableView – 自定义TableViewCell Outlets为零所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。