2017-05-07 5 views
0

でdataSourceの結果をListに変換する際にエラーが発生しましたListResultsで作成されたテーブルビューのデータソースとしてエラーfatal error: unexpectedly found nil while unwrapping an Optional valueを取得し続けます。UITableView - realm

私は実際に私はそれを試してみましたし、それが正常に動作しますが、私は私がListResultsを変換しています理由です、私のテーブルビューの最初の項目を表示したくない、私は私のデータソースとしてResultsを使用することができます知っていますRealmから削除することなくResultsから削除することができます。

私はここで何が欠けていますか? print("\(realm.objects(ItemList.self))")

Results<ItemList> (
    [0] ItemList { 
     listName = List One; 
     createdAt = 2017-05-06 01:12:47 +0000; 
     items = RLMArray <0x6180002e4200> (
      [0] Item { 
       productName = Bananas; 
       createdAt = 2017-05-06 18:23:59 +0000; 
      }, 
      [1] Item { 
       productName = Grapes; 
       createdAt = 2017-05-07 11:37:33 +0000; 
      } 
     ); 
    }, 
    [1] ItemList { 
     listName = List Two; 
     createdAt = 2017-05-06 18:16:14 +0000; 
     items = RLMArray <0x6180002e4180> (
      [0] Item { 
       productName = Apples; 
       createdAt = 2017-05-06 18:16:14 +0000; 
      }, 
      [1] Item { 
       productName = Oranges; 
       createdAt = 2017-05-06 18:16:14 +0000; 
      } 
     ); 
    } 
) 

ERROR ...ここ

は、ここでは、

var lists : List<ItemList>! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    updateLists() 
} 

func updateLists(){ 
    let allLists = realm.objects(ItemList.self) 

    // Convert Results to List to be able to remove first item 
    var lists: List = List(allLists) 
    lists.remove(at: 0) 
} 


func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return lists.count // error points here 
} 

それがnilであってはならない...コードで出力されます:ポイントnumberOfRowsInSection方法に

fatal error: unexpectedly found nil while unwrapping an Optional value

答えて

1

リストリストの別のインスタンスをupdateLists()メソッド内でインスタンス化します。 このような修正を試してください:

// Convert Results to List to be able to remove first item 
var lists: List = List(allLists) 
self.lists = lists 
self.lists.remove(at: 0) 
+0

ああ、私の神、私はそれを信じることができません。愚かな質問については申し訳ありません。それを指摘していただきありがとうございます。 –