前言
总遇到一些问题,当时上网找到方案,解决了。。然后再遇到就再上网。。既然这样,整理一下吧~
1.Xcode 11新建项目,在iOS13中
黑屏????
你看,项目中多了一个新类(在appdelegate下面)~~ app多了一个分屏的玩意。这个类就是干这个的。你以前在appdelgate里面的window没了~ 所以,大兄弟。。挪移过来,放在这个类下面吧~ 当然了。。原来的不要删除,因为这个只支持iOS13~
启动广告图加载gg???
看上个问题。。还是这个scen类搞的鬼。坏的很~ 干掉吧~ 删了这两个类,去appdelegate里面,下面,把这个鬼东西的生命周期回调的两个方法删除~ 还有info.plist,里面也有这个鬼东西。。一样去干掉吧~ 我不想在截图了。。
2.LaunchScreen加载出来空白
把你的图片 丢在根目录下~
3.github clone速度过慢 下载慢
Mac 终端
sudo dscacheutil -flushcache
4.Xcode 11新建项目 使用 Assets 中的 LaunchImage
由于apple 现在推荐使用 launchScreen,所以现在~
只有两个。。没有原先的Assets 给你选择了。。但是又想使用LaunchImage, 怎么办???
方法:第一步 先将LaunchScreen File 设置为空
第二步 关闭 LaunchScreen 的这一项设置
第三步,在Setting 中,设置使用LaunchImage
另外,如果启动图白屏,也可以换为LaunchImage 解决
5.计算label文本高度
UILabel *titleLabel = [UILabel new];
titleLabel.font = [UIFont systemFontOfSize:17 weight:UIFontWeightBold];
titleLabel.numberOfLines = 0;
titleLabel.textAlignment = NSTextAlignmentLeft;
titleLabel.text = [NSString stringWithFormat:@"%@%@", self.label_data.label_name , self.title];
titleHeight = [titleLabel sizeThatFits:maxSize].height;
maxSiZe 就是你允许文本最大的size
6.TableView 刷新数据,导致数组越界Crash
这个有两种情况,①没有把数据源的remove写在了网络请求成功的回调里。导致,数据源被remove,但是用户的操作触发了 cellForRow ,直接gg。。 ②remove写在了网络请求的成功回调里,但是从remove 到数据源再次被赋值,中间间隔较长,导致用户触发cellForRow的时候,无数据源可用,直接GG~
解决方案 尽量不使用remove, 而是采用 直接赋值的操作, 可以采用一个临时可变数组/字典,数据整理完成后,直接 dataSource = tempDataSource.mutableCopy。 至于,为什么是mutableCopy 而不是copy,自行百度两者区别。