Быстрое удаление массива структуры - PullRequest
0 голосов
/ 16 марта 2019

У меня проблема при использовании массива struct.

У меня есть такая структура:

struct Group: Equatable {
    var date: Date
    var day: String
    var time: String
    var subgroup: String
    var type: String
    var subject: String
    var building: String
    var room: String
    var lecturer: String

    static func == (lhs: Group, rhs: Group) -> Bool {
        return lhs.date == rhs.date && lhs.day == rhs.day && lhs.time == rhs.time && lhs.subgroup == rhs.subgroup && lhs.type == rhs.type && lhs.subject == rhs.subject && lhs.building == rhs.building && lhs.room == rhs.room && lhs.lecturer == rhs.lecturer
    }
}

Я добавляю данные в массив struct:

var groupModel: [Group] = []

И я использую groupModel в tableView для строки и раздела. В таблице все ок.

Но когда я перезагружаю данные в таблице, я хочу удалить старые данные и вставить новые данные.

Я пытался:

self.groupModel2.removeAll()
add new data to groupModel2
self.tableView.reloadData()

И в таблице я получаю новые данные и старые. Как я могу удалить старые и поставить только новые данные?

Ответы [ 2 ]

1 голос
/ 16 марта 2019

Может быть, вы можете попробовать

groupModel2 = [] 

, если .removeAll () не работает.

0 голосов
/ 17 марта 2019

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

...