尝试删除项目/索引时出现Exc_bad_access错误

时间:2015-02-21 17:58:35

标签: ios swift ios8 xcode6

技术:XCode 6,Swift,iOS 8.1.3,Maverick 10.9.5

当我使用模拟器时,它工作正常,从不出错。当我将应用程序下载到手机时,当我尝试连续删除一些项目时,它会出错。我还试过转储所有数据并进行干净运行,但我的实际手机仍然出现错误。一位朋友在他的iPad上运行它,他可以毫无错误地删除没有问题的东西。

func delete(index: Int) {
    searches.removeValueForKey(tags[index]) /** It errors here 
}

错误消息是EXC_BAD_ACCESS(代码= 1,地址= 0x20)。

删除项目会导致应用程序崩溃,但是一旦我将应用程序重新启动/再次运行,我就可以执行删除操作而不会出现错误。如果我尝试删除另一个项目,它会崩溃,但我可以立即重新启动应用程序,我可以执行删除操作而不会出错。

此问题是否与我使用的软件版本有关?别的什么?谢谢你的帮助。

这是我打电话的时候:

override func tableView(tableView: UITableView,
    commitEditingStyle editingStyle: UITableViewCellEditingStyle,
    forRowAtIndexPath indexPath: NSIndexPath) {
        if editingStyle == .Delete {
            model.delete(indexPath.row)
            // remove UITableView row
            tableView.deleteRowsAtIndexPaths(
                [indexPath], withRowAnimation: .Fade)
        }
} 

我如何创建搜索数据:

 private var searches: [String: String] = [:]

 if let pairs = userDefaults.dictionaryForKey(pairsKey) {
    self.searches = pairs as [String : String]
 }

 func tagAtIndex(index: Int) -> String {
    return tags[index]
 }

 func queryForTag(tag: String) -> String? {
    return searches[tag]
 }

 func queryForTagAtIndex(index: Int) -> String? {
    return searches[tags[index]]
 }

0 个答案:

没有答案