我如何知道哪些Realm调用抛入Swift?

时间:2015-10-08 14:43:42

标签: swift2 realm

我正在使用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语句,或者我在这里缺少一些基本的东西?

感谢您的帮助。

2 个答案:

答案 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()