Быстрая сортировка табличного представления по отдельным разделам - PullRequest
0 голосов
/ 21 ноября 2018

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

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

Вот код таблицы, который у меня есть на данный момент, на случай, если он поможет

override func numberOfSections(in tableView: UITableView) -> Int {
    // #warning Incomplete implementation, return the number of sections
    return 1
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete implementation, return the number of rows
    return models.count
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    // Dequeue reusable Cell
    let cell = tableView.dequeueReusableCell(withIdentifier: "modelCell", for: indexPath) as! modelCellTableViewCell
    // Fetch Item
    let model = models[indexPath.row]
    // Configure Table View Cell
    cell.modelNickname?.text = model.modelNickname
    cell.modelNickname.textColor = UIColor(red:0.24, green:0.31, blue:0.35, alpha:1.0)
    cell.modelName?.text = model.modelName
    cell.codexName?.text = model.codexName
    cell.modelOption1?.text = model.modelOption1
    cell.modelOption2?.text = model.modelOption2
    cell.modelOption3?.text = model.modelOption3
    cell.modelOption4?.text = model.modelOption4
    let fileManager = FileManager.default
    let imageName = model.codexName + model.modelName + model.modelOption1
    let imagePath = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString).appendingPathComponent(imageName)
    if fileManager.fileExists(atPath: imagePath){
        cell.modelImage.image = UIImage(contentsOfFile: imagePath)

    }else{
        print("No Image found")
    }
    return cell
}

Любая помощь / предложения, которые вы можете предложить, были бы большой помощью.

...