我閱讀了一些CoreData教程和Apple的文檔,但我仍然沒有發現一件事:如何將CoreData與自定義類完全集成。調整自定義類以便與CoreData兼容
假設我有自定義類Dog
,並且在創建項目時選中了「Include CoreData」。
的狗有像name
,legsNumber
幾個屬性和一些枚舉像vaccinationStatus
與案件.Vaccinated
和.NotVaccinated
。
從我所瞭解的唯一方法是創建一個新文件並修改代碼。我必須創建一個NSManagedObject
子類並將其分配給.xdatamodeld
文件中的實體(本例中爲Dog)。然後它創建2個文件Dog+CoreDataProperties.swift
和Dog.swift
。
而且我應該在Dog+CoreDataProperties.swift
中添加我想讓狗擁有的屬性,例如@NSManaged var name: String
和legsNumber
,但是枚舉呢?
它是這樣嗎?
@NSManaged enum VaccinationStatus {
case Vaccinated
case NotVaccinated
}
我可以在其中添加另一個具有屬性的類嗎?就像一個陣列一樣,說每個狗的衣服的品牌名稱和價格(有點兒極端,但你明白我的意思)。或者是否必須添加另一個實體並創建另一個NSManagedObject
文件並將NSManaged
的屬性添加到它?
你能提供一些代碼嗎?我一直在研究,但我仍然沒有找到我想要的。假設我擁有屬性'name'和'dateOfBirth'(String和Date)的實體'EmployeeEntity'。每個員工都可以完成任務。所以這應該是另一個具有屬性'taskName'和'taskStatusValue'的實體'TaskEntity'?並且將'tasks'作爲'EmployeeEntity'和'employee'的關係添加到'TaskEntity'?然後我應該爲兩個實體創建文件?我基本上想要最終的結果是我訪問'employee.task [0] .status'。上面的邏輯正確嗎? – Lawrence413
然後,如果我添加本教程中的代碼(在枚舉部分)http://www.jessesquires.com/better-coredata-models-in-swift/在Task.swift中,我將能夠訪問'employee.task [0] .status'? – Lawrence413
是的,你的邏輯聽起來不錯。我沒有時間看看你參考的教程 – Wain