为什么 Realm 如此频繁地使用 try!
?似乎如果您确定您的调用不会失败,那么您不应该将其设计为 throw
- 不是吗?
这是一个示例,来自 realm.io 上的 Swift 页面:
// Get the default Realm
let realm = try! Realm()
或
// Persist your data easily
try! realm.write {
realm.add(myDog)
}
对我来说,这意味着它们永远不会失败,那么为什么要抛出构造函数或 write() 呢?
最佳答案
如果您指的是 Realm 中的示例 Swift Docs ,我怀疑 try!
为了简洁起见被大量使用。用户无需过多的脑力开销就可以快速粗略地了解核心概念。
在使用 Realm 的过程中,您可能会遇到错误。您稍后会在文档中注意到,在 Realms > Error Handling 中给出了 do-catch
示例的部分。
do {
let realm = try Realm()
} catch let error as NSError {
// handle error
}
对我来说,这意味着文档中的代码示例不一定具有生产质量,并且鼓励用户使用 Swift 的相关错误处理功能。
关于ios - 为什么 Realm 使用 try!在 swift ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35376584/