获得徽章 0
- 在iOS13的版本中发现UITabBarItem文字未针对iOS 13正确着色,显示为系统蓝色,这个应该是xcode11的bug吧,备注一下初步的解决方案:
if (@available(iOS 13.0, *)) {// 修复iOS13 tabbar色值异常
self.tabBar.unselectedItemTintColor = [UIColor lightGrayColor];
}展开赞过评论1 - Xcode代码不联想:
File - workplace setting - building system - Legecy building system 完成之后重启xcode评论点赞 - 一万小时的完整指南
1、有个明确的目标
刻意练习的时候,确保可以衡量自己的表现并不断为自己设定小的、具体的、可实现的目标
2、获得频繁的反馈
没有反馈,就无法改善你的联系,你的能力将达到稳定水平
3、打破它
刻意练习几乎总是用来建立或者修改以前获得的技能
4、永远不要停止推动自己
刻意练习发生在一个人的舒适区以外,这要求我们不断尝试超出自己当前能力的事情,这通常是不愉快的,会很累,需要坚韧的努力
5、寻找老师
研究所在领域最优秀人才,把他们当老师,例如研究受到广泛推崇的开源代码,也可以找那些比自己优秀的人,跟他们进行交流,优秀的老师值得投入时间和资金展开等人赞过评论6 - 如果一个类的多个category有重名函数,则其调用顺序是怎样的?
根据runtime的消息传递机制中的核心函数void objc_msgSend(id self,SEL cmd,...)来发送消息,先从当前类中查找调用的方法,若没有找到则继续从其父类中一层层往上找,那么对于category重写同一个方法,则在消息传递的过程中,会最先找到category中的方法并执行该方法。对于多个分类调用同一个方法,Xcode在运行时是根据buildPhases->Compile Sources里面的从上至下顺序编译的,编译时通过压栈的方式将多个分类压栈,根据后进先出的原则,后编译的会被先调用,当objc_msgSend找到方法并调用之后,就不再继续传递消息,形成所谓的覆盖。
注意:并不是后面创建的就一定被调用,需要看创建之后其在buildPhases->Compile Sources里面的位置。展开评论点赞 - 公司app多次迭代更新后,项目里面存在了大量未使用的图像和资源,通过这个工具可以很便捷的定位,亲测挺有效。
注:小心使得万年船,删除资源之前还是要看一眼等人赞过评论7