使用xib创建cell时 bug
UITableView (<UITableView: 0x15799a800; frame = (0 4797; 375 733); clipsToBounds = YES; tag = 305; gestureRecognizers = <NSArray: 0x1584acda0>; layer = <CALayer: 0x1584ac910>; contentOffset: {0, 0}; contentSize: {375, 1321}>) failed to obtain a cell from its dataSource (<HomePageViewController: 0x157885200>)
(null)
原因:cell返回nil;
1.终于解决了.如果你是storyboard里创建的cell可以直接打标示。如果你是用xib创建的cell直接在xib里打标示是没用的,得在vc里面用代码去打标示。
2.
是因为你的cell被调用的早了。先循环使用了cell,后又创建cell。顺序错了。
eg:(正确的)
@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
{
UINib * nib;
}
@end
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString * cellIdentifier = @"GameTableViewCell";
if (nib == nil) {
nib = [UINib nibWithNibName:@"GameTableViewCell" bundle:nil];
[tableView registerNib:nib forCellReuseIdentifier:cellIdentifier];
NSLog(@"我是从nib过来的");
}
GameTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
return cell;
}
使用xib创建cell时 bug的更多相关文章
- iOS 关于使用xib创建cell的两种初始化方式
[转]http://my.oschina.net/CgShare/blog/337406 方法一: 第一步: [self.collectionView registerNib:[UINib nibWi ...
- iOS 使用xib创建cell的两种初始化方式
曾几何时,被自己坑过,为了防止下次继续被自己坑,我决定了!在每个我能看到的地方,都把问题写一遍!!! 方法一: ? 1 2 3 4 第一步: [self.collectionView register ...
- xib创建cell的两种方法
方法一:第一步:[self.collectionView registerNib:[UINib nibWithNibName:@"QGLShareBtnCell" bundle:n ...
- iOS深入学习(UITableView系列4:使用xib自定义cell)
可以通过继承UITableViewCell重新自定义cell,可以像下面一样通过代码来自定义cell,但是手写代码总是很浪费时间, ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- 使用Xib创建自定义视图(不是cell)时需要注意的问题
开发项目过程中,有些地方不免会用到Xib来提高开发效率,如果你的手速够快,写代码建视图,我并不反对这样做.因为我以前也是纯手写代码开发. 进入正题,Xib好用,但是这些下面这些问题需要注意一下. 问题 ...
- AJ学IOS(16)UI之XIB自定义Cell实现团购UI
AJ分享,必须精品 先看效果图 自定义Cell 本次主要是自定义Cell的学习 实现自定义Cell主要有三种方法:按照使用的频繁度排序: XIB > 纯代码 > StoryBoard XI ...
- swift 之 纯代码创建 cell
初学swift 但是网上只有很多swift用xib创建的cell,就算是有也不是我想要的.今天自己弄了一个不用xib纯代码写的,来上代码 博客地址: https://github.com/liguol ...
- IOS xib在tableview上的简单应用(通过xib自定义cell)
UITableView是一种常用的UI控件,在实际开发中,由于原生api的局限,自定义UITableViewCell十分重要,自定义cell可以通过代码,也可以通过xib. 这篇随笔介绍的是通过xib ...
- UITableVIew与UICollectionView带动画删除cell时崩溃的处理
UITableVIew与UICollectionView带动画删除cell时崩溃的处理 -会崩溃的原因是因为没有处理好数据源与cell之间的协调关系- 效果: tableView的源码: ModelC ...
随机推荐
- 机器学习之KNN算法思想及其实现
从一个例子来直观感受KNN思想 如下图 , 绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形 ...
- 关于磁盘错误disk error
到同事办公室的时候,机器的启动界面就停在磁盘错误disk error上. 首先怀疑的就是硬盘可能坏了,于是就用u盘启动,运行mhdd检测,一直到10%都没有发现错误.于是退出,重启,发现机器能够启动x ...
- 学习PYTHON之路, DAY 5 - PYTHON 基础 5 (装饰器,字符格式化,递归,迭代器,生成器)
---恢复内容开始--- 一 装饰器 1 单层装饰器 def outer(func): def inner(): print('long') func() print('after') return ...
- MySQL数据库的备份与还原
http://www.cnblogs.com/lql123/p/6090681.html //安装WordPress 1.备份 密码为:AAAzzz//123 mysqldump -uroot ...
- Java—泛型
泛型是JDK 5 中引入的一个新特性,泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型.泛型本质是参数化类型,也就是所操作的数据类型指定为一个参数. 假定我们有这样一个需求: ...
- 为什么.Net要求序列化的类必须有一个无参数的构造函数
刚才用xml序列化器,序列化一个类,结果报错说序列化的类必须带有一个无参的构造函数,好奇怪啊.为什么要有这么苛刻的条件,而且xml序列化还要求序列化的成员是public. 我以前一直觉得序列化器是一个 ...
- JavaEE Hibernate初级概念
1. Hibernate 是连接Java应用程序和关系数据库的中间件: 对JDBC API进行了封装.负责Java对象的持久化: 在三层软件架构中它位于持久层(数据访问层),封装了所有数据访问细节, ...
- 转: JAVA递归算法实例小结
一.递归算法设计的基本思想是: 对于一个复杂的问题,把原问题分解为若干个相对简单类同的子问题,继续下去直到子问题简单到能够直接求解,也就是说到了递推的出口,这样原问题就有递推得解. 在做递归算法的时候 ...
- React Native 使用问题记录
1.<View></View>之间有空格会报错 Trying to add unknown view tag 2.一些js语法糖注意点http://facebook.githu ...
- php防止外链导出的代码
先收藏起来再说! URL跳转代码 1.代码: <? $url=$_GET["url"];header("Location:"."http://& ...