我在静态tableView中有一个动态tableView。我想通过按第2节中的单元格将Items添加到动态tableView中。在我添加第三个单元格之前,它工作正常。当我尝试添加第三个单元格时,应用程序崩溃。 (以下错误消息)
我发现错误应该在numberOfRowsInSection函数中。
我已经尽力了。
override func numberOfSections(in tableView: UITableView) -> Int {
return 2
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == pcTableView {
if categories.isEmpty {
if section == 0 {
return 1
} else {
return 0
}
} else {
if section == 0 {
return categories.count
} else {
return 1
}
}
} else {
if section == 0 {
return 2
} else {
return 1
}
}
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if tableView == pcTableView {
let cell = pcTableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
if categories.isEmpty || categories.isEmpty == false && indexPath.section == 1 {
cell.accessoryType = .disclosureIndicator
cell.textLabel?.text = "New Categorie"
} else {
cell.textLabel?.text = "Added categorie cell"
cell.accessoryType = .none
}
return cell
} else {
//Here I return my static TableView cells
if indexPath.section == 0 && indexPath.row == 0 {
return topCell
} else if indexPath.section == 0 && indexPath.row == 1 {
return bottomCell
} else if indexPath.section == 1 && indexPath.row == 0 {
return categoryTopCell
} else {
return UITableViewCell()
}
}
}
我通过另一个ViewController的协议功能添加新类别,如下所示:
func newPcCategorie(title: String, name: String, description: String) {
categories.append((title: title, name: name, description: description))
pcTableView.reloadData()
}
这是我每次都会收到的错误:
2019-07-20 13:11:21.265475 + 0200 testName [5868:1564503]正在终止应用 由于未捕获的异常'NSRangeException',原因:'-[__ NSArrayI objectAtIndex:]:索引2超出范围[0 .. 1]'第一次抛出调用 堆栈:(0x1ee77127c 0x1ed94b9f8 0x1ee6eace8 0x1ee672c9c 0x21b198484 0x21a9b2720 0x21b177068 0x21b3f3650 0x21b176790 0x21b16f31c 0x21b16f098 0x104ce72b8 0x104ce81a0 0x21b188358 0x21b188858 0x21b155060 0x21b172380 0x21b400ed0 0x1f2c25a20 0x1f2c2a9c8 0x1f2b8d2d0 0x1f2bbb330 0x21af90818 0x1ee7025f8 0x1ee6fd320 0x1ee6fd89c 0x1ee6fd0b0 0x1f08fd79c 0x21af69978 0x104cff970 0x1ee1c28e0)libc ++ abi.dylib:以未捕获的异常终止 输入NSException'