最初に起動したときにXMLファイルをインポートしてテーブルを作成するアプリケーションがあります。これはiOS 9ではうまくいきました.iOS 10では、すべてのデータが正しくインポートされ、正しくフェッチされますが、強制的にアプリを終了して再び開くまで、表にアイテムは表示されません。代わりに、xmlファイルの最初の項目が表示されます。そのアイテムをクリックすると、実際には298アイテム(別のアイテム)の順序付きリストの最初のアイテムに移動します。ビデオ表示の問題に初期インポート後にiIT 10でUITableviewが更新されなくなる
注文:
- 1)アプリケーションは、初期起動時に開き、 "インポートデータ" を促します。パーサー は、XMLをインポートするために使用され、XMLを正常に実行します( の各項目のログを出力できます)。
- 2)アプリケーションがimportContextを保存し、 を呼び出します。tableView.reloadData
- 3)この時点で、データはテーブルにある必要があります。 ナビゲーションタイトルには、正しい(298項目)数が含まれています。 ただし、XML ファイルの最初の項目は、表に1つしかありません。
- 4)そのアイテムをクリックすると、 テーブルの項目ではなく、298アイテムのリストの最初のアイテム になります。
- 5)興味深いことに、私が検索を実行すると、1 の項目の名前は変更されませんが、それをクリックすると、検索された項目I になります。別のアイテムを検索してテーブルの1 アイテムをクリックすると、新しいアイテムが表示されます(ただし、 は既存のアイテムのテキストを変更しません) - 298アイテムがすべて表示されるので、 は表示されませんテーブルに私は
self.viewDidLoad
と
self.tableView.reloadData()
と
dispatch_async(dispatch_get_main_queue()) { self.tableView.reloadData() }
を呼び出し、解析が
で完了した後NSNotificationCenterを使用して、すべての3つの以上の関数を呼び出す試みた
NSNotificationCenter.defaultCenter().postNotificationName("performFetch", object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.test), name: "performFetch", object: nil)
しかし、実際には、tableView内の1つの項目はリセットされません(xmlファイルの最初の項目になります)。ここでも、すべてのデータが表示され、見えません。
アプリを強制終了してバックアップを開くと、すべてのデータが表示され、表示され、正常に機能します。 iOS 10でテーブルビューの更新を強制する別の/新しい方法はありますか?ここでも、この機能はios 9では正常に機能し、コードは変更されませんでしたが、ios 10では失敗しました。 Swift 3.0にアップグレードしていないのは、それが痛みを伴うためです。
iOS 10.0でも同様の問題があります。2(実際にはこのバージョンで起き始めましたが)、テーブルをスクロールするとロードされます(いくつかの不具合がありますが)。 – dccarmo
@dccarmo by glitchデータを繰り返すのですか?今問題を扱っているのです – Multinerd
@Multinerd私は覚えていませんが、データを繰り返すとは思いません。 – dccarmo