/*需要注意的是,deleteRowAtIndexPaths函数的第一个参数是一个NSIndexPath类型的数组,
如果要删除指定的cell(只删除一个cell的话)可以新建一个NSIndexPath类型的数组,将要删除的cell的indexpath加入到新创建的数组中即可。第二个参数是删除指定CELL时的动画,可以根据自己的需要选择。(None为删除时没有动画效果)
另外一个要注意的地方是,deleteRowIndexPaths必须写在tableView.beginUpdates()和tableView.endUpdates()中间,下面给出完整的例子*/
myTableView.deleteRowAtIndexPaths(indexPaths,withRowAnimation:.None)
假如我要删除的cell的NSIndexPath 为nsIndexPath
Let nsIndexPaths = [NSIndexPath]()
nsIndexPaths.append(nsIndexPath)
myTableView.beginUpdates()
myTableView.deleteRowAtIndexPaths(nsINdexPaths,withRowAnimation:.None)
myTableView.endUpdates()
/*
Ps:还有一点,我没试过,大家可以试试,
如果你将tableView要显示的数据存放在一个数组中的话(假设数组名为data),当你删除一个指定的行之后要重新加载tableView的数据(tableView.reloadData()),我猜这时会出现一个问题(我没尝试过,只是猜测)如果你的tableView(tableView :UITableView,numberOfRowsInSection section: Int) ->Int函数返回的行数是data.count(data数组的元素个数),当你调用完tableView.reloadData()函数时,系统会自己重新执行tableView(tableView :UITableView,numberOfRowsInSection section: Int) ->Int函数和tableView(tableView:UITableView,cellForRowAtIndexPath indexPath :NSIndexPath) -> UITableViewCell函数,恭喜你程序奔溃!所以应该在tableView.reloadData()函数调前下加上 self.data.romoveAtIndex(nsIndexPath.row)//在数组中删除该cell的内容。
如果有不正确的地方欢迎大家指正,一起学习一起进步。我是一个刚进入ios开发的新人,我会不定期的分享一些我在工作中,学习中学到的新知识,希望对大家有用。QQ:929562459
*/