自定义运算符(带有inout)触发NSManagedObject更改

时间:2015-12-21 14:39:39

标签: swift core-data nsfetchedresultscontroller nsmanagedobject

我创建了一个自定义运算符,只有在它不同时才更改值:

func ?!=<T:Equatable> (inout lhs:T?, rhs:T?) {
    if lhs != rhs {
        lhs = rhs
    }
}

我这样用过:

eventMO.id ?!= eventObject.id

在我的NSFetchedResultsControllerDelegate controller(_:didChangeObject:atIndexPath:forChangeType:newIndexPath:)返回NSFetchedResultsChangeType.Move时,当值相同时,实际上应该没有任何内容。

我使用调试器测试过,左手参数在我的测试用例中没有被修改。

所以我猜测:inout运算符是否会触发NSManagedObject上的更改?

0 个答案:

没有答案