Область, передающая значения выбранной категории - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть приложение для задач, над которым я работаю. пользователи могут создавать задачи и, в свою очередь, создавать элементы под своими категориями. Я использую область в качестве хранилища данных, но я хочу иметь возможность передать некоторые детали из выбранной категории в контроллер представления создания элементов. Я решил напечатать выбранную категорию на консоль, но она печатает ноль, и я не знаю почему. Ниже мой код.

class CategoryModel: Object {

    @objc dynamic var id = UUID().uuidString
    @objc dynamic var name: String = ""
    @objc dynamic var color: String = ""
    @objc dynamic var isCompleted = false

    let items = List<TodoListModel>()

    override static func primaryKey() -> String? {
        return "id"
    }
}

Позиции ВК

 var selectedCategory: CategoryModel?

 override func viewDidLoad() {
        super.viewDidLoad()
        print("Selected Category: \(String(describing: selectedCategory))")
 }

Я не знаю, почему он продолжает печатать ноль

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018

Вы можете разобрать таким образом;

Предметы ВК

let realm = try! Realm()
var category:Results< CategoryModel>?

    override func viewDidLoad() {
        super.viewDidLoad()
       loadCategory()
    }

    func loadCategory(){
        category = realm.objects(CategoryModel.self)
        //tableView.reloadData()  for example
    }

//category?[indexPath.row].name    for example using
0 голосов
/ 07 сентября 2018

Потому что вы не указываете это значение при показе itemsVC

let item = ItemsVC()  // if VC is inside IB use self.storyboard?.instantiate.....
item.selectedCategory  = // set here or inside prepareForSegue if you use segues 
// here present
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...