在Xcode 9中,我有一个tableView,其中包含从CoreData中提取的数据列表。数据的添加,编辑和保存工作正常,但是当我尝试删除数据时,我遇到了一个难题,一个难题使应用程序崩溃,另一个难题。
如果我使用以下代码,它将从CoreData和tableview中删除数据,但没有.fade选项。它只是从tableView中消失了。
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
context.delete(tasks[indexPath.row])
tasks.remove(at: indexPath.row)
saveTasks()
}
如果我使用以下选项,则应用程序将崩溃。
override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
context.delete(tasks[indexPath.row])
tableView.deleteRows(at: [indexPath], with: .fade)
saveTasks()
}
如何在以下位置将.fade选项应用于删除??
答案 0 :(得分:1)
您需要结合这两种解决方案:
<button type="button" class="load-some-stuff" id="btnOne">One</button>
<button type="button" class="load-some-stuff" id="btnTwo">Two</button>
<button type="button" class="load-some-stuff" id="btnThree">Three</button>
基本上,您必须既更新数据($(function(){
$('.load-some-stuff').on('click', function(e){
switch(this.id)
{
case 'btnOne':
$('#some-container').load('example.com');
break;
case 'btnTwo':
$('#some-container').load('example.com');
break;
case 'btnThree':
$('#some-container').load('example.com');
break;
}
});
});
),又告诉$(function(){
$('.load-some-stuff').on('click', function(e){
// the current button
var _this = $(this);
switch(this.id)
{
case 'btnOne':
$('#some-container').load('example.com', function(){
_this.off('click');
});
break;
case 'btnTwo':
$('#some-container').load('example.com', function(){
_this.off('click');
});
break;
case 'btnThree':
$('#some-container').load('example.com', function(){
_this.off('click');
});
break;
}
});
});
重新加载。