swiftui - iOS 14.0 之后如何解决 SwiftUI 中 RealmSwift.App 和 SwiftUI.App 的冲突?
问题描述
不能App
直接用,也不能用RealmSwift.App
。我该怎么做才能解决冲突?</p>
import SwiftUI
import RealmSwift
let app = RealmSwift.App(id: "tasktracker-qczfq")
@main
struct LandManagementApp: SwiftUI.App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
错误:模块“RealmSwift”没有名为“App”的成员
import SwiftUI
import RealmSwift
let app = App(id: "tasktracker-qczfq")
@main
struct LandManagementApp: SwiftUI.App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
错误:传递给不带参数的调用的参数错误:无法实例化协议类型“App”
我使用 swift manager 包安装了 Realm,并且没有更改任何构建设置。
解决方案
在 Swift 代码中使用 RLMApp 是一种反模式,因为它是来自 Obj-C api 的一种类型。区分这两种App
类型的方法是为命名空间添加前缀,例如RealmSwift.App
,或者添加一个类型别名以帮助清除限定每种类型的一些冗长。
例如typealias RealmApp = RealmSwift.App
typealias SwiftApp = SwiftUI.App
推荐阅读
- python - 如何将数据框列中的值替换为另一个数据框列。就像图片一样
- c# - 如何根据另一列的值更改 DataGrid 中按钮的前景色?WPF C#
- python - 如何在python中的二维数组中找到多少个值可以被整除
- python - 如何在 tkinter 画布的某些区域嵌入 matplotlib 图?
- arduino - 信号矢量幅度 - 加速度计 MPU6050
- flutter - 如何使用过滤器在颤动中切换深色和白色模式
- git - 发生冲突时如何强制合并成功
- scala - Scala - 方法变量不是不可变的
- flutter - Flutter 在 ListView 中显示数据一次
- alignment - 有没有比用`#noqa`结束每一行更好的方法来禁用对齐代码块上的警告和错误?