В моем случае я загружаю данные JSON в tableview
с помощью codable
. Здесь доступны опции Tableview select
и unselect
в зависимости от выбора Мне нужно сохранить выбранные данные ячейки Tableview JSON
в массив и отменить выбор ячейки Tableview, данные JSON необходимо удалить из этого массива. Сохраненные значения array
, которые я собираюсь использовать в другом viewcontroller
. Используя приведенный ниже код, я могу store
, но значения, добавленные с optionals
, также не знают, как удалить процесс. Пожалуйста, помогите мне решить эту проблему!
JSON
{
"status": true,
"data": [
{
"userid": "1",
"firstname": "mark",
"designation": "junior",
"profileimage": "https://s3.amazonaws.com/.jpg"
},
{
"userid": "2",
"firstname": "Saji",
"designation": "senior",
"profileimage": "https://s3.amazonaws.com/.jpg"
}
]
}
JSON Codable
struct Root: Codable {
let status: Bool
let data: [Datum]
}
struct Datum: Codable {
let userid, firstname, designation: String?
let profileimage: String?
}
MyКодовая база
var sessionData = [Datum]() // Data Store based on check and uncheck
var studentsData = [Datum]() // JSON data for tableview List
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.studentsData.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell:MyCustomCell = self.tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier) as! MyCustomCell
let item = self.studentsData[indexPath.row]
cell.nameCellLabel.text = item.firstname
cell.subtitleCellLabel.text = item.designation
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
let item = self.studentsData[indexPath.row]
if let cell = tableView.cellForRow(at: indexPath) {
if cell.accessoryType == .checkmark {
cell.accessoryType = .none
// how to do UnCheckmark cell JSON data Remove from sessionData array?
} else {
cell.accessoryType = .checkmark
// how to do Checkmark selected cell data Insert into sessionData array?
self.sessionData.append(item)
print(sessionData)
}
}
}