CoreStore transaction.edit 建议使用相同变量名的注释可以防止我们误用非事务实例
CoreStore transaction.edit suggesting comments using the same variable name protects us from misusing the non-transaction instance
我从文档中找到这段代码:
let jane: MyPersonEntity = // ...
CoreStore.perform(
asynchronous: { (transaction) -> Void in
// WRONG: jane.age = jane.age + 1
// RIGHT:
let jane = transaction.edit(jane)! // using the same variable name protects us from misusing the non-transaction instance
jane.age = jane.age + 1
},
completion: { _ in }
)
不确定为什么我们需要这样做// using the same variable name protects us from misusing the non-transaction instance
因为 swift 建议我使用其中两个:
该建议利用了 swift 具有的变量名隐藏功能。
Xcode 自动完成仍会向您显示 "jane",因为另一个名为 name 的也在同一范围内,尽管永远无法使用 - 因为它被隐藏了。不管你select在那里。由于这个原因,它是处理事务对象的最安全方法,因为它可以防止您意外使用错误的对象。
我从文档中找到这段代码:
let jane: MyPersonEntity = // ...
CoreStore.perform(
asynchronous: { (transaction) -> Void in
// WRONG: jane.age = jane.age + 1
// RIGHT:
let jane = transaction.edit(jane)! // using the same variable name protects us from misusing the non-transaction instance
jane.age = jane.age + 1
},
completion: { _ in }
)
不确定为什么我们需要这样做// using the same variable name protects us from misusing the non-transaction instance
因为 swift 建议我使用其中两个:
该建议利用了 swift 具有的变量名隐藏功能。
Xcode 自动完成仍会向您显示 "jane",因为另一个名为 name 的也在同一范围内,尽管永远无法使用 - 因为它被隐藏了。不管你select在那里。由于这个原因,它是处理事务对象的最安全方法,因为它可以防止您意外使用错误的对象。