2016-10-06 7 views
1

私のテーブルの1つに次のコードがあります。Swift 2から3への移行コアデータNSManagedObjectクラス

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
     let cell = tableView.dequeueReusableCell(withIdentifier: "InventoryTableCell", for: indexPath as IndexPath) as! InventoryTableViewCell 

     let inventory : Inventory = fetchedResultsController.object(at: indexPath as IndexPath) as! Inventory 
     cell.inventoryItem = inventory 

     cell.drawCell() //uses passed inventoryItem to draw it's self accordingly. 

     return cell 
    } 

私はcell.inventoryItem = inventory

上のランタイムエラーを取得していますこれは、スレッド1言う:EXC_BAD_ACCESS(エラー:CoreData:エラー:NSManagedObjectクラスの指定イニシャライザを呼び出すことができませんでした)

それはしませんでした迅速な2でこれを行うので、エラーが何であるかは不明です。モデルのスクリーンショットを作成し、クラスを作成します。

このエラーは、これまでにはうまくいきませんでした。何が変わったの?

enter image description here enter image description here enter image description here

+0

「InventoryTableViewCell」クラスの変数「inventoryItem」を初期化しているかどうかわかりません。これを開始した場合は、その変数をオプションの変数に変更してください。同じ問題が発生する可能性があります。 –

答えて

1

あなたは今それにコンテキストを与えるために持っているか、それが動作しません項目を定義するとき、私は、私の問題を解決するように見えます。

私はここで私のInventoryTableViewCellで表示していないコードで、私はinventoryItemを間違って定義しました。

ここで正しい方法があります。

関連する問題