1.手贱的Cathage更新了一波,报错:
吓死宝宝了,什么也没做啊,最后投机取巧的把之前好的项目里的这个第三方直接替换进去就好了。
或者直接更新项目最低适配的iOS版本。
https://stackoverflow.com/questions/32692828/module-files-deployment-target-is-ios9-0-v9-0-with-xcode-7-swift-2
这里想问个问题,我在Cartfile文件里设置了版本号,为什么carthage update --platform iOS的时候还是最新的版本呢?应该用哪个命令呢。
2.iOS清除角标:
这时有人肯定会疑惑为啥不用[UIApplication sharedApplication].applicationIconBadgeNumber = 0 ?
因为把应用角标值置为0的话会把之前收到的通知栏内的通知内容都清空,这样显然是不合理的;如果置为-1的话,不但能保留以前的通知内容,还有角标消失动画,iOS10之前这样设置是没有作用的 ,iOS10之后才有效果 ;所以iOS10之前只能通过上述代码来实现。
3.
报错Swift Warning: Attempt to present <UIViewController: 0x114fe1380> on ...
https://blog.csdn.net/Yj_sail/article/details/78563689
有些人就会说:“为什么我一直present AlertController 就不会导致卡死呢?”
因为系统在弹出alert时,单独创建了一个新的window,同时我们的keyWindow也会指向这个window。
而我们自己写present时并不会创建一个新的window,且系统不允许同时弹出多个视图控制器,否则就会出现以上bug问题。
4.Model赋值注意强弱引用:
https://blog.csdn.net/mydo/article/details/84104383
func copyPotTaste() -> PotTaste {
let copyPotTaste = PotTaste(withDict: JSONDictionary())
copyPotTaste.tasteID = self.tasteID
copyPotTaste.tasteName = self.tasteName
copyPotTaste.enable = self.enable
copyPotTaste.tasteType = self.tasteType
copyPotTaste.labelStyle = self.labelStyle
copyPotTaste.details = self.details.map({ (potDetailTaste) -> PotDetailTaste in
return potDetailTaste.copyPotDetailTaste()
})
return copyPotTaste
}
self.privateDishTastes.map{$0.copyPotTaste()}