teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コメントを受けて追記しました。

2018/03/20 06:28

投稿

nakasho_dev
nakasho_dev

スコア2655

answer CHANGED
@@ -1,1 +1,15 @@
1
- tableView.reloadData()を呼んでいないのでテーブルの更新がされないのではないでしょうか。
1
+ tableView.reloadData()を呼んでいないのでテーブルの更新がされないのではないでしょうか。
2
+
3
+ 【追記】
4
+ viewWillAppearでreloadDataを呼んでいるとのことですが、
5
+ metadataOutputにviewWillAppearは呼ばれているのでしょうか。
6
+ もし呼ばれていてreloadDataが実行されているとしたらself.itemsの中身が変わっていないのかもしれません。
7
+
8
+ 気になったのはクラス変数としてitemを作成していることです。
9
+ itemを使いまわしているので、items[0]、items[1]と追加されても常に同じ内容になります。
10
+ metadataOutput関数内でしか使用していないので都度生成したほうが良いと考えます。
11
+
12
+ また、metadataOutput内の以下のコードで関数を抜けていないかなども確認したほうが良いのではないでしょうか。
13
+ ```Swift
14
+ guard let stringCodeValue = metadataObject.stringValue else { return }
15
+ ```