(七十一)关于UITableView退出崩溃的问题和滚动究竟部的方法
【TableView退出崩溃的问题】
近期在使用TableView时偶然发如今TableView中数据较多时,假设在滚动过程中退出TableView到上一界面。会引起程序的崩溃。经过网上查阅和思考我发现这样的情况出如今一个UIView控制器拥有一个TableView,TableView无法在UIView销毁前全然销毁,从而继续调用dataSource,而这时候UIView已经不可用了,会引发野指针错误。
避免方法非常easy,仅仅须要在UIView的dealloc方法中把dataSource设为nil就可以:
- (void)dealloc{
    self.tableView.dataSource = nil;
}
【TableView滚动究竟部】
对于即时聊天等应用,经常须要在新数据到来时把TableView滚动究竟部。这个需求能够通过TableView的scrollToRowAtIndexPath::实现,须要传入要滚动到的cell位置和滚动位置。
须要传入indexPath的最后一个位置,也就是要显示的数据数组的最后一个元素的索引,位置为底部。枚举名为
UITableViewScrollPositionBottom。例如以下:
Tip:一定要注意在没有数据时会造成indexPath.row=-1,此时应当直接返回。
- (void)scrollToTableBottom{
    if (_array.count < 1) {
        return;
    }
    NSInteger lastRow = _array.count - 1;
    NSIndexPath *lastPath = [NSIndexPath indexPathForRow:lastRow inSection:0];
    [self.tableView scrollToRowAtIndexPath:lastPath atScrollPosition:UITableViewScrollPositionBottom animated:YES];
}
(七十一)关于UITableView退出崩溃的问题和滚动究竟部的方法的更多相关文章
- (七十一)关于UITableView退出崩溃的问题和滚动到底部的方法
		[TableView退出崩溃的问题] 最近在使用TableView时偶然发现在TableView中数据较多时,如果在滚动过程中退出TableView到上一界面,会引起程序的崩溃,经过网上查阅和思考我发 ... 
- 第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门搜索
		第三百七十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现我的搜索以及热门 我的搜素简单实现原理我们可以用js来实现,首先用js获取到 ... 
- 深度学习(七十一)darknet 源码阅读
		深度学习(七十一)darknet 源码阅读 
- “全栈2019”Java第七十一章:外部类访问静态内部类成员详解
		难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ... 
- 孤荷凌寒自学python第七十一天开始写Python的第一个爬虫
		孤荷凌寒自学python第七十一天开始写Python的第一个爬虫 (完整学习过程屏幕记录视频地址在文末) 在了解了requests模块和BeautifulSoup模块后,今天开始真正写一个自己的爬虫代 ... 
- 《手把手教你》系列技巧篇(七十一)-java+ selenium自动化测试-自定义类解决元素同步问题(详解教程)
		1.简介 前面宏哥介绍了几种关于时间等待的方法,也提到了,在实际自动化测试脚本开发过程,百分之90的报错是和元素因为时间不同步而发生报错.本文介绍如何新建一个自定义的类库来解决这个元素同步问题.这样, ... 
- IOS第七天(3:UiTableView 模型和数据的分组的显示)
		*************UiTableView模型和数据的分组的显示 #import "HMViewController.h" #import "HMHero.h&qu ... 
- IOS开发中UITableView(表视图)的滚动优化及自定义Cell
		IOS开发中UITableView(表视图)的滚动优化及自定义Cell IOS 开发中UITableView是非常常用的一个控件,我们平时在手机上看到的联系人列表,微信好友列表等都是通过UITable ... 
- 退出Android程序时清除所有activity的实现方法
		思路: 1. 自定义ActivityList管理类,添加删除维护该list; 2.Activity Stack 类似上面: 3.singleTask定义一个Activity为该启动模式,然后当返回时, ... 
随机推荐
- numeric and int in sql server
			类型映射 https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql-server-data-type-mappings C#关 ... 
- String build-in function - len
			len is a build-in function that returns the numbers of characters in a string: Since we started coun ... 
- windows下MySQL5.6以上版本,如何通过修改配置文件来修改数据库的最大连接数啊?
			并没有my.ini文件,只有一个my-default.ini文件,并且里面并没有max_connections windows下MySQL5.6以上版本,如何通过修改配置文件来修改数据库的最大连接数啊 ... 
- exsi从磁盘中加载虚拟机
			e 
- LLDB使用篇(上)
			LLDB是个开源的内置于XCode的具有REPL(read-eval-print-loop)特征的Debugger,其可以安装C++或者Python插件. 本系列针对于已经知道何为debugger,且 ... 
- 阿里云主机centos设置虚拟内存
			http://blog.csdn.net/luwei42768/article/details/51241758 https://my.oschina.net/u/2306127/blog/65726 ... 
- Css 选择器总结
			选择器 .class 类对应的元素. #id 对应的id元素. * 全部元素 div{} 对应的标签 div,p{} 全部的div和p div p{} div下全部的p标签 div>p{} di ... 
- Java中发送http的get、post请求
			近期做项目中,须要把消息通过中间件的形式通过http请求的方式推送给第三方,因此用到了http协议,小编花费了一个多小时.对于http协议中的post和get请求,封装了一个工具类.以下与大家分享一下 ... 
- storm 消息确认机制及可靠性
			worker进程死掉 在一个节点 kill work进程 比方 kill 2509 对work没有影响 由于会在其它节点又一次启动进程运行topology任务 supervisor进程死掉 supe ... 
- Android-Volley网络通信框架(StringRequest & JsonObjectRequest)
			1.回想 上篇对 Volley进行了简介和对它的学习目的与目标,最后,为学习Volley做了一些准备 2.重点 2.1 RequestQueue 请求队列的建立 2.2 学习 StringReques ... 
