Моего приложение переходит к top_level_code файла и говорит Thread 1:EXC_BAD_ACCESS(code=EXC_I386_GPFLT)
, когда я использую UITableViewCellEditingStyle.DeleteApp сбой при нажатии прокатывается кнопка удаления
Я хочу, когда пользователь пойло налево на UITableView строке он показывает кнопку удаления и, когда он нажал ее строка должна быть удалена. работает корректно несколько раз, но во много раз он будет разбиваться, но когда я запустил приложение, строка будет удалена. Вот мой код:
var doItList = [String]()
var stared = false
class ViewController: UIViewController, UITableViewDelegate {
@IBOutlet weak var staredBtn: UIButton!
@IBOutlet weak var addDoItField: UITextField!
@IBOutlet weak var doItTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
if NSUserDefaults.standardUserDefaults().objectForKey("doItList") != nil {
doItList = NSUserDefaults.standardUserDefaults().objectForKey("doItList") as [String]
}
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return doItList.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "Cell")
cell.textLabel?.text = doItList[indexPath.row]
return cell
}
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == UITableViewCellEditingStyle.Delete {
doItList.removeAtIndex(indexPath.row)
NSUserDefaults.standardUserDefaults().setObject(doItList, forKey: "doItList")
doItTableView.reloadData()
}
}
Can u pls опубликует полный отчет о сбое –
проверить это сообщение: http://stackoverflow.com/questions/32334706/swift-array-removeatindex-error. Похоже, что ваш doItList - это NSArray, а не NSMutableArray. – Surely