公司项目涉及到一个老页面的改动,该页面是完全使用 storyboard 开发的,一打开 storayboard 页面 xcode 就完全卡住了。这个页面还是 17 年左右开发的,当年开发的时候也不是很卡顿,没想到 22 年的 Xcode(13.4.1)居然完全没法用,基本页面刚加载出来,稍微动一下鼠标 xcode 又开始转圈,打开这种 sb 、xib 页面真的考验心态。。看内存也没占用很高,倒是监视器里面 xcode 的 cpu 占用 100.5%(因为标红直接卡死无响应了),为什么苹果对开发者这么不友好,公司电脑是 19 款 16 寸的 mbp ,心态炸裂,用爽了 vscode 真的不想再碰 xcode 这种工具
1
pupboss 2022-06-29 00:56:01 +08:00 via iPhone
我接手过一个项目,storyboard 加载需要 2 分钟,随便动动鼠标 30 秒起步,苹果这个东西除了能降低门槛之外,就是个垃圾
|
2
pikoqian98 OP @pupboss 确实,没有被 xcode 卡过的真是体会不到这种卡顿的感觉,仿佛自己用的是上个世纪的电脑
|
3
xtinput 2022-06-29 07:52:17 +08:00
storyboard 本质上就是一个 xml ,单个 xib(xml)加载还好,如果很多界面都丢在 storyboard 里面那差不多废了
|
4
Anewt 2022-06-29 09:47:19 +08:00 1
如#3 所说,如果将很多界面都放在一个 Storyboard 里面,那加载必然是非常慢,还见过整个工程就用一个 Storyboard 的,#1 提到的可能就是这样一个工程
所以有个东西叫:Storyboard Reference 可以将界面,按功能模块或者其他规则,分散放入很多 Stoaryboard 里,每一个 Stoaryboard 里可能就几个界面,这样也便于团队协作开发 (大家一起编辑同一个 Storyboard 会是一场灾难) 其实个人觉得 Storyboard 很好用,只是很多人没有正确使用,能极大的降低工作量提高开发速度,viewController 里几乎看不到构建 UI 的代码,很清爽 还比如被大家吐槽的 Autolayout ,说选中某个界面元素,满屏幕的蓝色树枝杈,而且都牵一发而动全身,哈哈哈,见过的人懂我的意思,其实搭配上 UIStackView ,辅以少量的约束,非常清爽好调整 如果就是特别喜欢用代码构建 UI ,那现在其实有一个非常好的选择,就是 SwiftUI |
5
gaoyz 2022-06-29 10:18:34 +08:00
刚开始入门的时候用了 storyboard 觉得有点香 拖拖拉拉就可以搞定 开发很快 但是之后有次升级 Xcode 发现 storyboard 加载卡的一塌糊涂 就再也不用了 至今还是纯代码 效率确实没有 storyboard 高 但是熟练以后 其实感觉还是比较舒适
|
6
610915518 2022-06-29 10:19:39 +08:00
我还是喜欢纯代码,感觉控制力更强(才不是因为界面用的不熟练
|
7
vaccer 2022-06-29 12:46:41 +08:00 via iPhone
改个约束几秒钟, 打开 SB 卡半分钟。。。
我还是用纯代码布局吧 |
8
xtinput 2022-06-29 13:06:26 +08:00
|
9
lowsunndy 2022-06-29 14:41:32 +08:00
mac app 开发貌似还是离不开 storyboard ,我是从 16 年开始放弃 nib 的,一是因为卡顿效率太低,另外就是发现它有时候会有莫名其妙的 bug ,导致和代码实现的在某些系统上有兼容问题。
不过自从换了 m1 max + 64G 内存之后,发现 Xcode 打开什么都很快了。。。。。SwiftUI 渲染也是嗖嗖的快 |
10
pikoqian98 OP @Anewt 看了下我们工程里面打不开的这个 storyboard 里面有 5 个 vc ,没有做拆分,但是每个 vc 的控件很少,难以理解为什么 xcode 打开这种 xml 文件会这么卡,它的卡顿不像别的应用正在加载,是直接卡死了(可能我们约束使用不当会造成一定性能问题)
|
11
pikoqian98 OP @610915518 是的,现在对 storyboard 已经有阴影了,轻易不敢点击项目中的老文件,否则就是杀进程了…
|
12
pikoqian98 OP @vaccer 如果真的只卡半分钟,我也对 xcode 说声栓 Q 了😂
|
13
pikoqian98 OP @lowsunndy 遇到性能问题,加钱是最好的选择😂
|
14
lp380490944 2022-08-15 13:41:31 +08:00
遇到同样的问题,老项目不想用纯代码重新写,但是真的卡的一笔,M1 MBP 都不行。
|
15
pikoqian98 OP @lp380490944 感觉是 xcode 自身问题,xcode13 开始就卡的离谱
|