gpt4 book ai didi

ios - 如何在 iOS/Swift 项目中清晰分离 ui 和业务逻辑

转载 作者:行者123 更新时间:2023-11-30 10:57:22 25 4
gpt4 key购买 nike

我对 iOS 开发相对较新,但在 Android/Java/Kotlin 方面拥有丰富的经验。所以我倾向于将我的 ios 项目构建得与我的 Android 项目有点相似。所以我使用的基本结构是

class MyViewController: UIViewController{
private let viewModel = ViewModel()
}

class ViewModel{
func doSomethingAsync(delegate){
SomeFactory.createService().doSomethingAsync(){
delegate.callback
}
}
}

class SomeFactory{
static func createService() -> Service {return ServiceImpl()}
}

class Service{
func doSomething()
}

class ServiceImpl : Service{
func doSomething(){... implementation...}
}

因此 View Controller 对业务逻辑或服务一无所知,它看到的只是数据模型。 View 模型提供了两者之间的桥梁。此外,没有人可以看到 ServiceImpl 类,并且只能通过工厂访问。这个设计是不是太过分了,还是对于ios来说太“javaish”了?人们通常如何将 View 逻辑与应用程序的服务/业务逻辑分开?

最佳答案

viewController中更新您的 UI 元素。

如果没有 ui 元素更新,一切(业务逻辑)肯定会转移到 viewModel

关于ios - 如何在 iOS/Swift 项目中清晰分离 ui 和业务逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53794389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com