ios项目中给变量赋值后,变量为null的情况
来源:互联网 发布:淘宝开店卖家中心在哪 编辑:程序博客网 时间:2024/06/06 08:28
在做ios项目的过程中,有时会发现运行后内容不显示。加了断点,查出问题出在对象根本没有获取到传递的值。从程序运行的顺序依次检查,一种情况是赋值时值本身就是空的,还有就是赋值对象没有初始化,本人犯的错误属于后者。
上述情况出在简单的赋值问题上,在自定义UITableViewCell变量时常犯的错误是:自定义UITableViewCell时复写了父类的初始化方法,该方法和视图控制器中初始化的方式不一致,导致单元格创建失败,内容自然不能显示。
举个正确的例子:
在视图控制器中:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ MovieCell *cell = [tableView dequeueReusableCellWithIdentifier:iden]; if(cell == nil){ cell = [[MovieCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:iden]; } cell.backgroundColor = [UIColor clearColor]; cell.movieModel = _movieModels[indexPath.row]; return cell;}
在自定义的UITableViewCell类中,类名为MovieCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{ self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if(self){ //自定义单元格 [self _initCell]; } return self;}
总结:在类中定义的实例变量使用之前一定要初始化;自定义UITableViewCell时复写的父类的初始化方法,要和视图控制器中的初始化方式一致。
0 0
- ios项目中给变量赋值后,变量为null的情况
- C#中赋值表达式也有值,它的值表示为赋值后变量的值
- 嵌入式 给变量赋值为空格
- bool? 什么意思 bool? isTrue;表示 bool isTrue = null ; 定义并给变量赋值为null;
- pl/sql中如何给boolean类型的变量赋值
- 为什么ajax中加载的数据无法赋值给变量
- bat脚本中命令执行的结果赋值给变量
- cuda 中给 __constant__类型变量赋值
- 在存储过程中 给变量赋值
- ruby中如何给变量赋值
- jSP页面中给变量赋值方法
- Spring给类中静态变量赋值
- php中对象赋值给变量
- JavaScript 给变量初始化null ,隐式转换为 'null'
- sql 给变量赋值
- 函数赋值给变量
- awk赋值给变量
- SQLServer对select语句返回多条记录给变量赋值时的处理情况
- android:点击输入框时,输入框在小键盘上面,解决方法
- java Socket通信(一)
- Servlet 单例多线程
- JAVA_HOME is not set and could not be found
- [iOS进阶]事件机制
- ios项目中给变量赋值后,变量为null的情况
- linux 安装编译 源文件
- Java 与 C#中的 substring、js的substring substr
- IOS查看crash记录
- leetcode--Add binary
- Eclipse生成并运行jar包
- Android开发——FrameLayout
- WPF 异步加载图片
- 消息模式Toast.makeText的几种常见用法