2016-11-09 20 views

回答

0

它看起來像在Xcode 8.我已經從實體中刪除所有屬性的錯誤,清理項目,然後再次添加的屬性。之後,錯誤消失了。也許這會幫助別人。

1

我有與Xcode 8.1相同的問題。我不想刪除所有6個實體上的所有痛苦屬性,並找到了另一個解決方案。假設你的模型文件被稱爲「foobar.xcdatamodeld」。

  1. 直接在模型中編輯XML。爲此,您需要訪問模型文件內的文件「內容」。通往它的路徑是:foobar.xcdatamodeld/foobar.xcdatamodel/contents。要在Finder中找到它,請按住Control鍵並點擊「xcdatamodeld」包以「顯示包裝內容」,然後再次點擊「xcdatamodel」包。然後,您可以將文件'內容'拖到您選擇的文本編輯器中。您將看到的限制出現在XML如下:

    <uniquenessConstraints> 
        <uniquenessConstraint> 
         <constraint value="property_name"/> 
        </uniquenessConstraint> 
    </uniquenessConstraints> 
    

您可以編輯「PROPERTY_NAME」以匹配新的價值,或者乾脆刪除的約束。

  1. 編輯完成後,嘗試清理並重新編譯。在我的情況下,錯誤仍然存​​在,所以我必須用Xcode做一些「重命名的舞蹈」。我從Xcode項目中刪除了模型,然後將模型文件重命名爲不同的名稱(包括「xcdatamodeld」文件中的「xcdatamodel」文件),並將其添加回Xcode。我再次重複了這個舊名,所以我又回到了最初的名字。
+0

我有類似的問題,跟在上面。我關閉了Xcode 8.2.1並打開了內容文件,但沒有發現唯一性約束。重新打開Xcode後,問題消失了。 –

0

我檢查了XML文件,並注意到「逗號,分隔,屬性」在XML中。我使用Product-> Clean(command + shift + K)來清理項目。清潔本身並沒有幫助。然後我嘗試了File-> Save(command + S)。

File->保存更新XML併爲我解決問題。