私はストーリーボードを使用して2つのセクションでテーブルビューを作成しました。 配列の配列を使ってセクションごとに異なるアイテムを表示し、それぞれの行を個別に削除できるようにします。 私はこれが私のtableViewControllerある複数のセクションを含むテーブルビューをスウィフト
import Foundation
import UIKit
var letters: [String] = []
class NotificationsViewController: UITableViewController {
var data = [ letters, ["1","2","3"]]
override func viewDidLoad() {
super.viewDidLoad()
self.tableView.editing = true
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//return letters.count
return data[section].count
}
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: UITableViewCell = UITableViewCell(style: .Subtitle, reuseIdentifier: "tableCell")
// cell.textLabel?.text = letters[indexPath.row]
cell.textLabel?.text = data[indexPath.section][indexPath.row]
return cell
}
override func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
if editingStyle == .Delete {
// // Delete the row from the data source
// letters.removeAtIndex(indexPath.row)
//
// tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
data[indexPath.section].removeAtIndex(indexPath.row)
tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic)
}
}
}
次のことを試してみましたが、アプリのクラッシュ:アプリケーション48.278 [70893:6874230] が screeshot
エラー:
2016年5月10日17:01 * 'NSRangeException'、理由: '* - [__ NSArrayI objectAtIndex:]:境界1を超えたインデックス1' ***ファーストスローコールスタック:
私は、文字列として1つの配列を持っており、それはあなたが文字を削除し、次のようにデータを交換してくださいすることができます両方のセクション
問題を理解するために十分な情報を提供する必要があります。アプリがクラッシュしたときに表示されるエラーは何ですか?これはあなたのTableViewControllerのための完全なソースですか? –
はい、これは完全なsource.Errorです:2016-05-10 02:54:39.757 App [67795:6715726] ***キャッチされていない例外 'NSRangeException'の理由によるアプリケーションの終了、理由: '*** - [__ NSArrayI objectAtIndex :]:範囲を超えたインデックス1 [0 .. 0] ' ***ファーストスローコールスタック: – Jana