我是iOS開發新手,想知道應該指定哪種數據類型來存儲多個字符串(數組)。該應用程序是與食物,我需要存儲多個成分作爲一個屬性。iOS Swift - 如何使用核心數據存儲數組?
我正在考慮將配料製作爲實體,但我只是想讓初學者變得簡單。 我已閱讀有關可變形類型,但人們似乎不建議使用它來存儲數組。
我是iOS開發新手,想知道應該指定哪種數據類型來存儲多個字符串(數組)。該應用程序是與食物,我需要存儲多個成分作爲一個屬性。iOS Swift - 如何使用核心數據存儲數組?
我正在考慮將配料製作爲實體,但我只是想讓初學者變得簡單。 我已閱讀有關可變形類型,但人們似乎不建議使用它來存儲數組。
警告:有預見的答案。
你不知道。
將數據存儲在數組中並不會讓您更輕鬆。相反,它會使事情變得更加困難,只需一個小時。想象一下,您想要顯示包含選定成分的所有食譜。對於你的數組破解而言,這並不容易,使用合適的模型只需要幾行代碼。
我會建議使用與「加入實體」的良好的舊關係。
是的,這是比黑客的東西一起勉強工作更加複雜。但這是正確的方法。
你在想什麼,正是你應該做的。核心數據是以數組結構的形式存儲值。您應該創建實體成分,並將您的食品實體(或任何您想稱之爲)與成分實體關係連接起來。
謝謝:)我會採取適當的方式。 – 2015-03-13 10:04:38
但在哪裏存儲這些數據? – Martian2049 2017-08-28 13:01:41
有一種方法。您可以手動執行每個元素,例如 你有你的陣列:
let employee: NSMutableArray = []
employee.addObject(["name":"Bill","LastName":"Hanks"])
employee.addObject(["name":"Rolex","LastName":"Swarzer"])
employee.addObject(["name":"Clive","LastName":"Martin"])
employee.addObject(["name":"Jimi","LastName":"Hendrix"])
假設你已經創建了實體「僱員」你coreData和屬性「名」和「姓氏」你以下信息才能增加它...
let appDel = UIApplication.sharedApplication().delegate as! AppDelegate
let context = appDel.managedObjectContext
for item in employee {
do {
let newUser = NSEntityDescription.insertNewObjectForEntityForName("Employee", inManagedObjectContext: context)
newUser.setValue(item["name"], forKey: "name")
newUser.setValue(item["LastName"], forKey: "lastname")
try context.save()
} catch {
//do nothing
}
然後,您可以使用您的抓取請求或NSFetched結果控制器獲取所有元素
感謝您的建議。你是對的。我應該正確地做。 – 2015-03-13 10:05:46
如果我需要在聯合實體中明確創建配方ID和成分ID的屬性,您能告訴我嗎?或者如果建立關係,xcode會自動處理它? – 2015-03-13 10:24:03
我明白你的意思是關於排序和顯示搜索結果。但是,他現在是不是需要一組自定義ingrediet對象?我的應用程序需要一個字符串數組(並不會從上面的模型中受益),而且我仍然不知道如何存儲數組。任何幫助? – Japes 2015-09-02 05:56:49