Я следовал Этот ответ, чтобы сохранить мои данные в массиве, когда проведешь пальцем влево и нажмет любимую кнопку. До сих пор я сделал это
func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {
let favorite = UITableViewRowAction(style: .normal, title: "Favorite") { (action, indexPath) in
var favorites : [String] = []
let defaults = UserDefaults.standard
if let favoritesDefaults : AnyObject? = defaults.object(forKey: "favorites") as AnyObject {
favorites = favoritesDefaults! as! [String]
}
let cell = self.myTableView.dequeueReusableCell(withIdentifier: "myCell", for: indexPath) as! TableViewCell
favorites.append(itemList[indexPath.row])
defaults.set(favorites, forKey: "favorites")
defaults.synchronize()
}
return [favorite]
}
Список массивов
var itemList = [ "item1", "item2", "item3", "item4", "item5",
"item6", "item7", "item8", "item" , "item", "Gobbling"]
, когда я нажимаю кнопку избранного, появляется ошибка
Невозможно привести значениетипа «NSNull» (0x22e386f28) в «NSArray» (0x22e386960)