2013-01-11 24 views
4

在覈心數據,你可以設置爲可選的關係,但是你可以用最小的設置檢查或不...查看下面的圖片的差別。 什麼我想我注意到的是,當你搜索使用謂詞喜歡的對象:@"object != %@", objectToSearchFor,第一個設置返回nil的,但第二設置不。我可能會誤解,但是有人知道兩個設置之間的區別嗎?的iOS CoreData關係:使用可選的有或無最低

Optional relationship without minimum

Optional relationship with minimum

附:我不知道它是否重要,但我使用SQLite作爲數據庫引擎。

回答

4

有關於這在NSRelationshipDescription Class Reference一些文檔:

基數
用於關係 的最大和最小計數指示的對象的引用的1的數目(對於對一 關係, -1表示未定義)。僅當包含對象中的 關係值不爲零時纔會執行計數。也就是說, 提供的關係值是可選的,有可能是在關係零個 對象,這可能是小於最小 計數。

因此,例如,在一個可選的一對多的關係的情況下:這種關係的值必須是nil,或至少包含所需對象的最小計數。

在可選的對一的關係,所述關係值的任一情況下是nil或指向另一對象,因此它有差別的最小計數是否爲0或1

予想不到的情況

保存託管對象上下文時,會檢查最小和最大計數等所有約束。

+0

我無法重現「的第一個設置返回nil的,但第二設置不」,所以我想這是別的東西。謝謝(你的)信息! – Zenuka