由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无效更新:第0节中的行数无效。更新后现有部分中包含的行数...
我已经尝试了几乎所有解决方案,我在互联网上找到了 - 实际上并没有帮助。
这是我的代码:
import Foundation
import UIKit
class ViewController3: UIViewController, UITableViewDelegate, UITableViewDataSource {
var coordinatesDictionaryInfo: [String : AnyObject] = [
"" : ""]
var arrayOfCoordinates = [String]()
var arrayOfInfromation = [AnyObject]()
func dictionaryToArray() {
for (key, item) in coordinatesDictionaryInfo {
arrayOfCoordinates.append(key)
arrayOfInfromation.append(item)
}
}
override func viewDidLoad() {
self.table.reloadData()
}
@IBOutlet weak var table: UITableView!
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
dictionaryToArray()
return self.arrayOfCoordinates.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cellIdentifier = "Cell"
let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier,
forIndexPath: indexPath)
// Configure the cell...
cell.detailTextLabel!.text = arrayOfInfromation[indexPath.row] as? String
cell.textLabel!.text = arrayOfCoordinates[indexPath.row]
return cell
}
func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return true
}
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == UITableViewCellEditingStyle.Delete {
tableView.beginUpdates()
self.arrayOfCoordinates.removeAtIndex(indexPath.row)
self.arrayOfInfromation.removeAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade)
tableView.endUpdates()
}
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let DVC = segue.destinationViewController as! ViewController
DVC.coordinatesDictionary = coordinatesDictionaryInfo
//отправляем словарь на второй ViewController2
}
}