2
我正在swift 3.0中處理一個項目,其中我有一個UITableView
帶有多個選擇選項(每行都有一個URL)。因此,在UITableView
之上使用可以在UITextfield中輸入名稱。我的要求是,一旦這些行被選中,數據應該在輸入名稱下保存在Coredata
中。到目前爲止,數據被保存爲獨立的元素,所以我在使用其名稱進行數據聚類時遇到了麻煩。我怎麼能做到這一點?我保存並提取數據的方法如下。以單一名稱保存多個對象到coredata
保存
public static func savePlaylistDetails(audio:AudioDetails, playListName: String) {
let appDelegate = UIApplication.shared.delegate as! AppDelegate
let context = appDelegate.persistentContainer.viewContext
let newPlaylist = NSEntityDescription.insertNewObject(forEntityName: PlayList_DETAILS_ENTITY, into: context)
newPlaylist.setValue(playListName, forKey:"playlistName");
newPlaylist.setValue(audio.mediaId, forKey:"trackID");
do{
try context.save();
print("Saved.....")
}
catch{
print("There was an error")
}
}
獲取已保存的數據
public static func getPlayList() -> [PlayListDetails]?{
let appDelegate = UIApplication.shared.delegate as! AppDelegate;
let context = appDelegate.persistentContainer.viewContext;
let request = NSFetchRequest<NSFetchRequestResult>(entityName: PlayList_DETAILS_ENTITY)
request.returnsObjectsAsFaults = false
do{
let results = try context.fetch(request)
if(results.count > 0){
for result in results as! [NSManagedObject]{
let playListDetails:PlayListDetails? = result as? PlayListDetails
print("Title: \(playListDetails?.playlistName)")
}
return results as? [PlayListDetails]
}else{
print("No results")
}
}catch{
print("Error in fetching items")
}
return nil;
}
是否允許更改字段的數據類型?如果是,那麼你可以改變數據類型爲NSData,然後你可以在一個字段中保存字符串數組。 – GeneCode
在新的快速步驟和代碼片段將非常感激? – danu