iOS 中的 RealmSwift 问题 'write' 块
RealmSwift in iOS issue with 'write' block
我又遇到了一个关于写入块的问题 - 'SharedRealm.realm.write()' - 错误 - "Call can throw, but it is not marked with 'try' and the error is not handled",如何处理它。
这是代码:
func addItems(items:[Item]) {
do {
let rlm = try Realm()
rlm.write { () -> Void in
for item in items {
rlm.add(item, update: true)
}
}
}
catch let rlmError {
print("Realm() generated error: \(rlmError)")
}
}
我仍然遇到同样的错误 - “:13: 调用可以抛出但未标记为 'try'”
由于 Realm() 可能会抛出错误,因此您需要将其包装在 do { try } catch 块中
extension Realm {
public class func saveClosure(dbClosure: (Realm)->()) {
do {
let rlm = try Realm()
rlm.write { () -> Void in
dbClosure(rlm)
}
}
catch let rlmError{
print("Realm() generated error: \(rlmError)")
}
}
}
rlm.write { ... }
可能会引发错误以及初始化程序,因此您也需要在此调用之前添加 try
运算符。
我又遇到了一个关于写入块的问题 - 'SharedRealm.realm.write()' - 错误 - "Call can throw, but it is not marked with 'try' and the error is not handled",如何处理它。
这是代码:
func addItems(items:[Item]) {
do {
let rlm = try Realm()
rlm.write { () -> Void in
for item in items {
rlm.add(item, update: true)
}
}
}
catch let rlmError {
print("Realm() generated error: \(rlmError)")
}
}
我仍然遇到同样的错误 - “:13: 调用可以抛出但未标记为 'try'”
由于 Realm() 可能会抛出错误,因此您需要将其包装在 do { try } catch 块中
extension Realm {
public class func saveClosure(dbClosure: (Realm)->()) {
do {
let rlm = try Realm()
rlm.write { () -> Void in
dbClosure(rlm)
}
}
catch let rlmError{
print("Realm() generated error: \(rlmError)")
}
}
}
rlm.write { ... }
可能会引发错误以及初始化程序,因此您也需要在此调用之前添加 try
运算符。