首页 >iOS开发

iOS开发实战小知识点

2017-09-11 10:45 编辑: 四门三连 分类:iOS开发 来源:Eddiegooo

记录开发过程中遇见的一些小问题和知识点

1.在release模式下,可以在控制台po打印属性信息方法:

在Build Setting -> Optimization Level 下,将release模式设置和debug模式一致即可。 发布的的时候记得改回来哦

2.关于block的使用

情景:开发过程中遇见一个很奇怪的bug:在debug模式下程序运行正常,但是在release模式下,程序运行失败。一段引用block的代码导致崩溃。定义block的时候没有带参数,但是在调用block的时候,不小心传了一个参数,就是这个原因导致程序在release模式下程序闪退。

分析其原因:

1.debug模式和release模式的不同:debug模式内存释放不是立即释放,而release模式下,内存是立即释放。在调用block的时候导致闪退。 不过这里我有一个不明白的地方:为什么定义block的时候不带参数,但使用的时候可以传参,程序不报错呢?

2.还有一点说明:虽说定义的时候不带参数,但是调用的时候带了参数,一旦你使用了这个传过来的参数,程序直接崩溃。

3.NavigationBar切换背景异常问题

在切换界面的时候,NavigationBar的background可能会出现闪动异常,通过图层查看,将BackGroundImage初始化即可。即:searBar.backgroundImage = [[UIImage alloc] init];

4.UILabel设置numberOfLines=0无效

如果设置无效,加多一个条件即可:

label.numberOfLines = 0;

label.preferredMaxLayoutWidth = MaxWidth;

5.UITableView进入的多样式

多样式是指:呈现cell的时候,给cell添加一些你想要的动画效果。

实现:我在直接的想法:在代理方法- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath;这里添加cell的动画。但是这样会出现一些问题,会先呈现cell在次加载cell动画。

真实实现:1.最好将tableView的背景色设置为clear模式。

2.将tableViewCell的分隔样式去掉self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

3.只给可视的cell添加动画即可,不然每次滑入滑出,重新加载都会出现自定义动画。

4.最关键一点,在加载tableView之后,添加自定义的cell动画,在添加这个cell动画时才确定tableView cell的个数,在调用[self.tableView reloadData];即可出现你自定义cell的动画了。

搜索CocoaChina微信公众号:CocoaChina
微信扫一扫
订阅每日移动开发及APP推广热点资讯
公众号:
CocoaChina
我要投稿   收藏文章
上一篇:【硅谷问道】对于 iOS 开发,人工智能意味着什么?
我来说两句
发表评论
您还没有登录!请登录注册
所有评论(0

综合评论

相关帖子

sina weixin mail 回到顶部