【发布时间】:2020-01-07 14:19:58
【问题描述】:
我一直在尝试开始使用 Realm(4.3.0 版)作为 Xcode 11 的数据库选项。凭借我的谷歌搜索技能,我无法找到问题的答案。我尝试使用Official Realm documentation,但似乎他们做事的方式不适用于 Xcode 11。基本代码:
import UIKit
import RealmSwift
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
class Test: Object {
@objc dynamic var text = ""
@objc dynamic var internalId = 0
}
let newTest = Test()
newTest.text = "Text" // Errors happen here
print("text: \(newTest.text)")
}
我收到了一个我绝对没有预料到的错误:
- 一行中的连续声明必须用';'分隔
- 函数声明的参数列表中应为 '('
- 函数声明体中应为“{”
- 实例方法声明中应包含“func”关键字
- 预期声明
- “newTest()”的重新声明无效
当我尝试初始化并写入 Realm 时:
let realm = try! Realm()
try! realm.write { // Error here
realm.add(newTest)
}
我收到“预期声明”的错误
根据我的阅读,Realm 似乎是一个非常适合 iOS 的数据库选项,但是由于这些问题,我无法启动和运行。任何帮助将不胜感激。
【问题讨论】:
-
您正在创建类级别的实例。将所有三行(创建、修改和打印)放在 viewDidLoad() 方法中。除此之外,将您的测试类移到 ViewController 之外,最好放在它自己的文件中。
-
@108g 成功了!万分感谢!仍然很难弄清楚所有东西都需要在 Swift 中的什么位置。