REALM Добавить список в linkingObjects - PullRequest
0 голосов
/ 15 апреля 2020

Я хочу использовать область для добавления всех данных в один V C.

parentV C показывает список категорий, в ParentV C можно только добавить новую категорию

childV C показывает toDotem List и может только добавить к selectedCategory.toDoList

Я создал новый V C "addToDoListV C", чтобы достичь результата "Добавление новых toDoItems в выбранную todoListCategory" .

ниже - мой код, а на изображении показано новое расположение addToDoListV C.

addToDoIte mVC расположение


class Category : Object {
    @objc dynamic var categoryName : String = "" 

    let ofToDoItem = List<ToDoItem>()
}

class ToDoList : Object {
    @objc dynamic var toDoItem : String = "" 

    var parentCategory = LinkingObjects(fromType: Category.self, property: "ofToDoItem")
}
addItemVC

let realm = try! Realm()
    var categorySelection : Results<Category>?

    @IBOutlet weak var categoryName: UILabel!
    @IBOutlet weak var categoryNamePicker: UIPickerView!

    @IBAction func addItemBtnPressed(_ sender: UIButton) {
        if let currentCategory = self.categorySelection {
          do {
     try! realm.write
      let newToDoItem = ToDoList()
         **// HOW DO I ADD THE ITEM TO SELECTED CATEGORY?**
         newToDoItem.toDoItem = textField.text

                    selectedCategory[**???**].ofToDoItem.append(newToDoItem)
**[// I can append data into selected category by "selectedCategory\[0\].ofToDoItem.append(newToDoItem)" but it is hardcoded.][1]**  
                }
            }

        }



//MARK:- PICKERVIEW METHODS
extension ParentVC : UIPickerViewDelegate, UIPickerViewDataSource {

    func numberOfComponents(in pickerView: UIPickerView) -> Int {
        return 1
    }

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
        return categorySelection?.count ?? 0
    }

    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
        return categorySelection?[row].categoryName
    }
    func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
        categoryName.text = categorySelection?[row].categoryName

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...