私は新しいIOS開発者です。私はコアデータベースを使って作業しています。私は3つの異なる属性(文字列、日付、ダブル)を持つテーブルを持っています。私は別の配列に3つの属性を取得したい。だから私は完全にテーブルビューでそれらを表示することができます。 は、私はXcodeの8かつ迅速な3コアデータベースデータを配列にフェッチしました
を使用しています私は怒鳴る示すような配列にそれらを入れてみましたが、私はこのエラーました:
Thread1 :Error EXC_BAD_INSTRUCTION. Also, in the output window shows fatal error: Index out of range
var first = [String]()
var last = [Double]()
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let request = NSFetchRequest <NSFetchRequestResult> (entityName : "EXPENSEAMOUNT_TABLE")
request.returnsObjectsAsFaults = false
do {
let result = try self.context.fetch(request)
if (result.count > 0) {
for index in 0 ..< result.count
{
let person = result[index] as! NSManagedObject
last [index] = person.value(forKey : "expenseAmount") as! Double //ERROR fires here
first [index] = person.value(forKey: "expenseAccountCode") as! String
// let second = person.value(forKey: "expenseDate") // I hide this because I don't know how to save the date into an array ?
}
}
} catch {
let fetchError = error as NSError
print(fetchError)
}
var cell = self.tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! customeCell
cell.dateText.text = first[indexPath.row]
cell.amountText.text = String (last[indexPath.row])
return cell
}
私はこれをどのように修正することができますが!
あなたは 'first'と' last'配列にデータを追加している生のテーブルの最後のレコードに私のために、各時間を出力しますか? –
last [index] = person.value(forKey: "expenseAmount")as!ここにダブル。私はデータを取得する方法を変更してください私の答えは、ベローズをチェックしてください –