【发布时间】:2018-01-15 16:54:24
【问题描述】:
我正在尝试从 tableview 中显示的公共静态数组中删除一个项目。删除发生在不同的视图控制器中,当我尝试进入该视图控制器时,应用程序崩溃并出现“索引超出范围”的错误
这是我删除项目的地方
func removeItem (info:Dictionary<String, Any>){
let stringKey = info[KEYS.stringKey] as! String
for var i in 0 ..< ItemsViewController.itemVideosList.count {
let current = ItemsViewController.itemVideosList[i]
let currentStringKey = current[KEYS.stringKey] as! String
if stringKey == currentStringKey {
ItemsViewController.itemVideosList.remove(at: i)
return
}
}
我在一个按钮上调用这个方法点击这里:
@IBAction func FavoriteAction(_ sender: Any) {
if Flag {
removeFromFavorite(info: songInfo)
Flag = false
}
else {
ItemsViewController.itemVideosList.insert(songInfo, at: 0)
favFlag = true
}
}
我正在使用此方法在“ItemsViewController”viewDidLoad 中填充表格视图
func loadItems() {
DispatchQueue.main.async {
self.itemsTableView.reloadData()
}
}
谢谢
【问题讨论】:
-
删除后重新加载表。问题可能是其他问题,但也不确定。
-
我在哪里重新加载表格?我无法从删除方法中获得对表的引用
标签: ios arrays swift uitableview