如果realmSwift中有一个对象的子对象,如何修改与这些对象链接的子对象?

时间:2019-02-16 15:45:49

标签: swift realm

我目前正在制作一个基本的TodoList应用,在处理对象方面存在一些问题。

我在这种层次结构中有一些领域对象:

WeekNumberItem(领域列表的种类)->显示在tableView // currentWeek

  • WeeklyItem(领域列表的国王)->在tableView中显示//必须在currentWeek中完成的任务

    • 名称(字符串)->显示在textView中

    • 类别(字符串)->显示在textView中

    • 详细信息(字符串)->显示在textView中

我想在其tableView中按类别名称(按字母顺序)显示我的WeeklyItems。因此,我使用此代码来实现它。

weeklyItems = selectedWeekNumber?.weeklyItems.sorted(byKeyPath:“ category”,升序:true)

然后,我尝试使用WeeklyItem的索引功能通过以下代码修改类别。由于索引保持更改,因为weeklyItems按“类别”排序,因此它不会出现在应显示的位置。

除了引用WeeklyItem的索引外,还有什么方法(索引保持更改:修改类别->更改weeklyItem的顺序->更改索引->在另一个对象中显示的类别)?

请帮助我...我已经工作了三天了...

func textViewDidEndEditing(_ textView: UITextView) {

        DispatchQueue(label: "background").async {
            autoreleasepool {
                let realm = try! Realm()
                if textView == self.ItemTitle {
                    let weekItem = realm.objects(WeekNumberItem.self)[self.selectedWeeklyIndexOfWeekNumber].weeklyItems[self.selectedWeeklyIndexOfWeeklyItem]
                    try! realm.write {
                        if self.ItemTitle.textColor != UIColor.lightGray {
                            weekItem.name = self.ItemTitle.text
                        }
                    }
                } else if textView == self.ItemCategory {
                    let weekItem = realm.objects(WeekNumberItem.self)[self.selectedWeeklyIndexOfWeekNumber].weeklyItems[self.selectedWeeklyIndexOfWeeklyItem]
                    try! realm.write {
                        if self.ItemCategory.textColor != UIColor.lightGray {
                            weekItem.category = self.ItemCategory.text
                        }
                    }
                } else if textView == self.ItemDetail {
                    let weekItem = realm.objects(WeekNumberItem.self)[self.selectedWeeklyIndexOfWeekNumber].weeklyItems[self.selectedWeeklyIndexOfWeeklyItem]
                    try! realm.write {
                        if self.ItemDetail.textColor != UIColor.lightGray {
                            weekItem.detail = self.ItemDetail.text
                        }
                    }
                }
            }
        }

我希望类别在其weeklyItem内更改,但是类别在另一个Weeklyitem中会不断更改。

image of the problem

0 个答案:

没有答案