我正在使用Swift 2,Xcode 7和OSX 10.11。我是Swift&的新手。境界!
0.95.3的Realm文档显示了这一点:
let mydog = Dog()
mydog.name = "Rex"
println("name of dog: \(mydog.name)")
// Persist your data easily
let realm = Realm()
realm.write {
realm.add(mydog)
}
然而在Xcode 7中,这会在'let realm = Realm()'生成错误:
Call can throw, but is not marked with 'try' and the error is not handled.
示例代码或API都没有将任何调用描述为导致抛出 - 为什么不呢?我是否需要在每个Realm调用中使用try语句,或者我在这里缺少一些基本的东西?
感谢您的帮助。
答案 0 :(得分:3)
似乎Realm文档还没有完全更新到Swift 2.当你看一下Realm.swift
文件时,你会发现很多方法现在都可以抛出。
例如,这里是write:
方法
public func write(block: (() -> Void)) throws {
try rlmRealm.transactionWithBlock(block)
}
答案 1 :(得分:0)
我认为这是抛出
的Realm
构造函数
这将解决它。
let realm = try! Realm()