こんばんわ
Swift+Firebase+XLPagerTabStripを利用して、ニュースアプリを作成しています。
基本部分は完成したのですが、画面表示が遅い問題があります。
立ち上げの際もそうですし、タブめくりした際の表示はより遅い状況です・・・・
有名なグノシー他、ニュースアプリですと
タブ切り替えの際はなんのストレスもなく、即時表示されていますが、
どのような仕組みかご存知でないでしょうか?
曖昧な依頼で恐縮ですが、快適に表示されるコツや参考サイト、参考コードをご存知でしたら
お力添えいただけると幸いです。
- タブ毎にストーリーボード、swiftがあります。
- 表示、切り替え時に、表示された画面のviewdidloadでfirebaseのタブに該当する箇所より情報を取得後、tableviewをリロードして表示
■検討していること
1タブ目表示時に、3タブ目までの情報をfirebaseより取得しておくことで解決できるのかなと思いましたが、
表示されないかもしれないタブの情報を取得するのは無駄なのかなとも思っています。
世間一般的にはどうなのかご存知でないでしょうか。
■読み込み速度が遅い理由
「 let imageData = try? NSData(contentsOf: url! as URL,options: NSData.ReadingOptions.mappedIfSafe)」の処理に約1秒かかってしまいます。。。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCell(withIdentifier: "ContentsTableViewXib") as! ContentsTableViewXib cell.selectionStyle = UITableViewCellSelectionStyle.none let dict = items[(indexPath as NSIndexPath).row] //jsonデータを代入 let contentsTableImage = cell.viewWithTag(3) as! UIImageView imageURL = dict["Image"] as? String //0.000(s) //dictから画像URLを取得 let url = NSURL(string: "(imageURL!)") //0.000(s) let imageData = try? NSData(contentsOf: url! as URL,options: NSData.ReadingOptions.mappedIfSafe) // 1.179(s) let img = UIImage(data:imageData! as Data) //0.030(s) contentsTableImage.image = img //0.000(s) return cell }

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/01 13:19
2018/11/02 01:15 編集
2018/11/02 15:25