Как сохранить галочку в Swift? - PullRequest
0 голосов
/ 02 марта 2019

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

Вот код: Я хочу сохранить textColor и accesoryType

func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
    let done = UIContextualAction(style: .normal, title: "Done") { (action, view, nil) in
        print("Done")
        tableView.cellForRow(at: indexPath)?.textLabel?.textColor = UIColor.lightGray
       tableView.cellForRow(at: indexPath)?.accessoryType = .checkmark
    }
    done.backgroundColor = .blue
    let config = UISwipeActionsConfiguration(actions: [done])
    config.performsFirstActionWithFullSwipe = false
    return config           
}

Ответы [ 2 ]

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

В вашей модели данных добавьте свойство

var isDone : Bool = false

В cellForRow установите пользовательский интерфейс в соответствии с этим свойством (при условии datasourceArray - это массив источника данных)

let item = datasourceArray[indexPath.row]
cell.textColor = item.isDone ? .lightGray : .blue
cell.accessoryType = item.isDone ? .checkmark : .none

В действии установите для свойства isDone значение true и перезагрузите строку.

let done = UIContextualAction(style: .normal, title: "Done") { (action, view, nil) in
    print("Done")
    self.datasourceArray[indexPath.row].isDone = true
    self.tableView.reloadRows(at: [indexPath], with: .none)
}

и удалите

done.backgroundColor = .blue

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

Вы можете добавить задачу со статусом var: Bool?хранить его в базе данных.Вы можете установить галочку со статусом по настройке (статус) Надеюсь, вам поможет!

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