【发布时间】:2014-09-07 05:53:49
【问题描述】:
我正在尝试创建一个包含唯一值的记录类型,并将充当另一个记录类型的目标引用对象。例如,记录类型 - 电影将包含用户提交的唯一电影列表。并且 FavoriteMovies 将包含一个用户引用和一个电影引用。用户可以从现有电影列表中进行选择,或向其中添加新电影。
如果我创建了一个新的电影记录,而另一个用户创建了一个具有相同名称的新记录(在我检索到电影列表之后,但在我尝试添加新列表之前),就会出现问题。这两个新记录被视为具有不同记录 ID 的不同记录。这意味着一旦我保存了新的,就会有两个具有保存名称的 Movies 实例。
我无法找到对电影记录类型执行“如果不存在则保存”类型操作的方法。我可以在查询的完成块中保存,但这两个操作不会是保证唯一性的原子事务。据我所知,将CKQueryOperation 与CKModifyRecordsOperation 链接也是如此。
有没有办法只在单个事务中不存在值时才插入记录?
【问题讨论】: