2016-09-18 2 views
2

最初に起動したときにXMLファイルをインポートしてテーブルを作成するアプリケーションがあります。これはiOS 9ではうまくいきました.iOS 10では、すべてのデータが正しくインポートされ、正しくフェッチされますが、強制的にアプリを終了して再び開くまで、表にアイテムは表示されません。代わりに、xmlファイルの最初の項目が表示されます。そのアイテムをクリックすると、実際には298アイテム(別のアイテム)の順序付きリストの最初のアイテムに移動します。ビデオ表示の問題に初期インポート後にiIT 10でUITableviewが更新されなくなる

リンク:reloading table issues

注文:

  • 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にアップグレードしていないのは、それが痛みを伴うためです。

+1

iOS 10.0でも同様の問題があります。2(実際にはこのバージョンで起き始めましたが)、テーブルをスクロールするとロードされます(いくつかの不具合がありますが)。 – dccarmo

+0

@dccarmo by glitchデータを繰り返すのですか?今問題を扱っているのです – Multinerd

+0

@Multinerd私は覚えていませんが、データを繰り返すとは思いません。 – dccarmo

答えて

0

cellForRowAtIndexPath:メソッドでセルの設定を行いますか?私は同様の問題を抱えていて、willDisplayCell:でコードを動かして解決しました。

+1

おそらく、あなたが使用したコードの少しの例を投稿する時間を取ることができます、それはあなたの答えを向上させるでしょう。 – miltonb

関連する問題