首页 >> 金融 >> 我庆幸果断放弃了SwiftUI:它还过于成熟

我庆幸果断放弃了SwiftUI:它还过于成熟

2024-01-26 金融

示在每次重绘时都是在实质上更是进一步成立。我虽然通过缓存略为增强了稳定病态观感,但也就是时说乐趣一直比较糟糕。无疑,SwiftUI 检查和机内贴所示就是没人法包括必要的重绘速度。我在讨论区查找了系统设计,之前撰写了一个推迟版本的 ObservableObject,由它来禁止千分之只发布一次更是改(参见请注意标识符)。

import Combine import Foundation

extension ObservableObject {func delayed(_ delay: TimeInterval = 1.0) -> DelayedObservableObject {return .init(object: self, delay: delay)}}

@dynamicMemberLookupclass DelayedObservableObject: ObservableObject where Object: ObservableObject {private var original: Objectprivate var subion: AnyCancellable?

fileprivate init(object: Object, delay: TimeInterval) {self.original = objectsubion = object.objectWillChange.throttle(for: RunLoop.SchedulerTimeType.Stride(delay), scheduler: RunLoop.main, latest: true).sink { [weak self] _ in self?.objectWillChange.send }}

sub(dynamicMember keyPath: WritableKeyPath) -> Subject {get { original[keyPath: keyPath] }set { original[keyPath: keyPath] = newValue }}}

随着重绘kHz的减缓,好不容易能比较平稳地可用经纬度上的实例了,千分之的帧率一个大一般就只有都只。但这会随之而来检查和机内中的的值再次出现推迟,因此在经纬度编辑机内的交互解决疑问过程中的(比如使用飘移方法有时)结果不准确,所以缺点还是反观完美。

但我看来这不太可能只是个单独疑问,并只能因此把 SwiftUI 一棒子打死。所以,我打算独自聚焦。

愈加慢

在解决疑问了第一个检查和机内最后,我开始研究成果另一个主题:Sprite 不动产编辑机内。利用这款方法有,我可以用多个 sprite 更是进一步组合成十分复杂的不动产,再进一步再度为它们制作一个团队原作。它的结果显示缺点就是主售票厅中的的一张表,出于求学的用意,我当然还是自已独自用 SwiftUI 喽。毕竟初次试着无疑会有种种疑问,某种程度再进一步给它一次希望。

如大家所见,这是个十分复杂的售票厅,包含多种不同上下文(上方的「Sprite 不动产信息库」列表,下方的特定「Sprite 不动产信息库」细节,以及其他与指定 Sprite 不动产相异的编辑机内特病态)。我只能为每个上下文成立一个贴所示,这些贴所示同时又是其他贴所示的「子贴所示」,然后把只能的信息传输给特定贴所示。

但上所示展示的缺点其实是在 AppKit 中的完成的,因为我在 SwiftUI 多年来解决疑问不了预想的功用。大家某种程度确信了,中的间的 SpriteKit 贴所示上有三个滑鼠(分别是 +、200% 和 -)。这些滑鼠只跟管理 SpriteKit 贴所示缩放的 @State 相关联。尽管依然不关的任何其他信息,在编辑机内上新增在此之前双击这些滑鼠,也会产生将近同一时长的极大推迟。我在此最后以为是因为经纬度编辑机内的 SpriteKit 主贴所示仍在后台位所示。所以我试着在临时工表结果显示出来后全面禁止位所示,但结果没人有任何改变。

调整从一种生态传播者至另一生态时,我也巧遇了类似于的推迟疑问。这可以时说是不慎骆驼的之前一根稻草了,我立即放弃 SwiftUI,独自用 AppKit。

总 结

其实勉强在重大项目中的用做 SwiftUI,会让我感觉有点抱歉。我一直看来它是一项很棒的领域,只是不太可能不简便我的这个特定用例。但我真的不考虑到是不是自己的词有疑问。我打算在 Nihongo no Kana 的上新增版本中的再进一步用用 SwiftUI,毕竟那款 iOS/iPadOS 领域的重绘kHz低得多,所以某种程度不会有太大疑问。

也许 SwiftUI 还没人动手好全面替代 AppKit 的准备。The Untitled Project 的 CiderKit 创作者方法有并不是作为 Catalyst 领域构建的,也不依赖于 UIKit。但独自使用 AppKit 的最小优点,就是没人有任何推迟而且一切功用实质上符合预想。当然,整个构建解决疑问过程更是死板,而且自动格局功用也格外好用。但我将近可以极好地控制客户端的道德上,而且根据需求随意调整各种特病态。

总之,亲身经历了这么一番波折,我还是很庆幸自己果断放弃了 SwiftUI。这不太可能是我在这个重大项目上动手过的最明智的考虑。

参看链接:

英伟达回应“对中的国断供之外新一代 GPU”;月薪 3.6 万工程师平均写 7 行标识符被开;12 年黑进 40 多家金融机构大老板赚百万获刑 |Q 资讯

在阿里达摩院没用了四年信息库,我来聊聊也就是时说具体情况 | 超卓领域一个团队揭秘

30 年 IT 老兵谈数字化:这就不是个领域活

资深 Web 开发设计的经验之谈:为什么你开发设计的Facebook不某种程度大于 14KB?

文凭推荐

在此之前阿里 P10 、浙江大学博导东白学长在极客时长出个专栏,叫 《郭东白的体系结构设计课》,比较火爆,已经有超过 2w 人求学了。

这个专栏共 67 时说什么,达 35w 字,细节除此以外「体系结构设计师的六大求生所谓、体系结构设计师的价值或许、Python足球员成长、Python思考力增强」四个模块,简便体系结构设计师求学,更是简便期望自已视为体系结构设计师的熟人求学。

脑肿瘤
双手关节僵硬什么原因
金笛复方鱼腥草合剂如何治疗新冠
肠胃炎的治疗方法
金笛复方鱼腥草合剂是新冠抗病毒药物吗
友情链接