簡體   English   中英

在CoreData中更新和編輯實體

[英]Updating and Editing an Entity in CoreData

我正在開發一個應用程序,用戶可以在其中創建一個包含許多項目的列表。 我的CoreData模型如下。

在此處輸入圖片說明

下面的代碼獲取list.contains關系並將其存儲為itemsOnList Set,然后使用Set中的每個Item填充UITableView

func getItemsOnList(){

    let app = UIApplication.shared.delegate as! AppDelegate
    let context = app.persistentContainer.viewContext

    //fetchRequest to get the List
    let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "List")
    let predicate = NSPredicate(format: "title == %@", listName)
    fetchRequest.returnsObjectsAsFaults = false
    fetchRequest.predicate = predicate

    if let fetchResults = try? context.fetch(fetchRequest){
        if fetchResults.count > 0 {
            for listEntity in fetchResults {
                let list = listEntity as! List
                print(list.title as Any)
                itemsOnListSet = list.contains!
            }
        }
    }
}

我希望用戶能夠更改商品的名稱或數量。

我這樣做的第一種方法是,因為我已經擁有NSSet of Items,所以我只需更改所需的Item,然后保存舊的list。包含新的list。

這將是一種明智的做法,還是有一種更簡便的方法呢?

謝謝

重命名contains items以便描述其含義。 (編輯:重命名也belongsTolist

因此,訪問鏈接到列表的項目將只是list.items ,更加清晰。

現在,如果您要編輯一個項目,只需從該集合中抓取並編輯即可,關系不會改變。 如果您要添加或刪除項目,則list.items再次觸摸list.items

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM