iOS错误总结(三)
1.如果tableView设置为分组的样式(默认是有cell之间的分割线,可以设置颜色),默认有组以及组尾的高度
需要手动在组头组尾的代理方法中进行组高的设置(如果想设置为0,最好写0.01)
2.组头如果有标题的话,如果想在上面加一个Label的话,最好是自定义组头
3.如果设置在tableView的init方法中设置tableView的分组样式的话
例如重写了tableVeiw的init方法
//初始化方法
-(instancetype)init{
self = [super initWithStyle:UITableViewStyleGrouped];
self.tableView.showsVerticalScrollIndicator = NO;
self.tableView.showsHorizontalScrollIndicator = NO;
return self;
}
这时候就要考虑,init执行的同时,也操作了tableView,这是会在init的同时执行viewDidLoad的方法
如果init完紧接着执行了push该tableViewController的相关操作,但push之前给tableView的数据源进行了赋值
这时候就要考虑 setupUI的相关操作是在数据源的set方法之前还是之后进行的了,否则init了tableViewController还未设置数据就setupUI
会导致视图无数据
4.数据文件管理器,保存文件的方式
//这里将图片放在沙盒的documents文件夹中
NSString * DocumentsPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
//文件管理器
NSFileManager *fileManager = [NSFileManager defaultManager];
//把刚刚图片转换的data对象拷贝至沙盒中 并保存为image.png
[fileManager createDirectoryAtPath:DocumentsPath withIntermediateDirectories:YES attributes:nil error:nil];
[fileManager createFileAtPath:[DocumentsPath stringByAppendingString:@"/image.png"] contents:data attributes:nil];
5.使用textField监听输入变化,使用UIControlEventEditingChanged键值
6.只有有footView时才有点击或下拉加载更多
7.
NSNumber *sex = nil;
if (sex==nil) {
NSLog(@"%ld",[sex integerValue]);//打印0
}
8.关于tableView是否进行注册的声明
dequeueReuseableCellWithIdentifier方法可以不用注册,
但是必须对获取回来的cell进行判断是否为空,if(cell!=nil)
但是如果使用dequeueReuseableCellWithIdentifier:forIndexPath则是要进行注册
9.
若使用Xib,使用 registerNib: 注册,dequeue时会调用awakeFromNib
不使用Xib,使用 registerClass: 注册, dequeue时会调用initWithStyle:withReuseableCellIdentifier:
10.使用sd下视图的时候,获取image
[ImageView sd_setImageWithURL:url completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
if (image)//即可得到sd下载的image
{}
}];
11.小技巧,,set方法可以接一层进行
cell.cellView.urlString =modal.urlString;
走的是cell中自定义控件cellView中的urlString属性的set方法
12.pch,只是项目名称/pch 就行了

iOS错误总结(三)的更多相关文章
- iOS开发UI篇—iOS开发中三种简单的动画设置
iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...
- 【ZBar】ios错误ignoring file xxx missing required architecture x86_64 in file
解决方法: 1.在Project target里"Architectures"设置为:Standard (armv7,armv7s)或者 Standard (armv7,arm6 ...
- iOS 错误及解决汇总
1. iOS 错误 之 http请求 2. iOS 错误 之 Unexpected interface name 'HomeListCell': expected expression 3. iOS ...
- redis cluster + sentinel详细过程和错误处理三主三备三哨兵
redis cluster + sentinel详细过程和错误处理三主三备三哨兵1.基本架构192.168.70.215 7001 Master + sentinel 27001192.168.70. ...
- XMPPFrameWork IOS 开发(三)登录
原始地址:XMPPFrameWork IOS 开发(三) XMPP中常用对象们: XMPPStream:xmpp基础服务类 XMPPRoster:好友列表类 XMPPRosterCoreDataSto ...
- Tomcat运行错误示例三
Tomcat运行错误示例三 最近碰到tomcat启动的问题,如图: 以前也碰见过这种情况,这次写的时候忘记加return,所以跳出了错误,加上之后的效果,如图: 参考网址 参考网址
- ios block常见的错误(三)——并发编程的block引用
在一些技术型的企业里面,有关block面试笔试题,将会问得很深,如下例子: 请问DemoObj的对象能否正确释放,为什么? //DemoObj.m @interface DemoObj() @prop ...
- iOS UICollectionView(转三)
上篇博客的实例是自带的UICollectionViewDelegateFlowLayout布局基础上来做的Demo, 详情请看<iOS开发之窥探UICollectionViewControlle ...
- iOS音频播放 (三):AudioFileStream 转
原文出处 :http://msching.github.io/blog/2014/07/09/audio-in-ios-3/ 前言 本来说好是要在第三篇中讲AudioFileStream和AudioQ ...
随机推荐
- APP开发和web开发的区别
1.web开发: 1.浏览器直接访问,协议是http,基本都是PC访问,也就是在家和办公场合,网络比较好. 2.web如果多个服务集成的话使用的是ESB来统一集成 2.APP开发 1.手机app客户端 ...
- OpenGL学习笔记2——顶点数组
#pragma comment(lib,"glut32.lib") #pragma comment(lib,"glut.lib") #pragma commen ...
- PullToRefreshListView加载更多定位的解决方法
之前项目里,早起用到了PullToRefreshListView,后来一部分用到了RefreshListView,最近在做优化的时候,其中一个问题就是PullToRefreshlistView上拉加载 ...
- spring mvc1
DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好 ...
- 安装过程中出现PKG_CONFIG_PATH的问题解决方法
在安装开源软件的过程中, 经常会碰到提示配置PKG_CONFIG_PATH路径, 或者直接提示没有安装某某库, 但是我们已经安装了啊. 其实造成这种情况的原因很简单, 就是安装的目录不能被依赖程序找到 ...
- PHP数组的常用函数
在PHP中数组是种强大的数据类型,他可以做的事情很多,可以存储不同的数据类型在一个数组中,下面我们列出了数组常用的操作,排序,键名对数组排序等做法. /* 数组的常用函数 * * 数组的排序函数 ...
- asp.net忘记密码功能
//调用接口 post public string GetResponseByPost(string mobile, string messcode, string values, string ut ...
- python3 中mlpy模块安装 出现 failed with error code 1的决绝办法(其他模块也可用本方法)
在python3 中安装其它模块时经常出现 failed with error code 1等状况,使的安装无法进行.而解决这个问题又非常麻烦. 接下来以mlpy为例,介绍一种解决此类安装问题的办法. ...
- Error:Execution failed for task ':app:dexDebug'.
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process ...
- ROW_NUMBER() OVER函数的用法
语法:ROW_NUMBER() OVER(PARTITION BY COLUMN ORDER BY COLUMN) partition 划分,分割 --ROW_NUMBER() 就是生成一个有顺序的行 ...