発生している事象
TableViewでコンテンツをリスト表示している中に、Cellのひとつとしてnendのネイティブ広告(画像や広告タイトルなど)を10Cellに1つ程度の割合で表示させています。
素直に実装していると、nendのsdkが広告をネットワークからロードして表示しているため、TableViewを高速でスクロールしていくと、ロードされるまでのタイムラグによって、本来アプリコンテンツを表示するCellにnend広告の画像が表示されてしまうことがあります。
■Cellのイメージ
|画像|タイトル文字列|
*アプリコンテンツのCell画像はKingFisherでネットワークから非同期ロードしています
*広告のCell画像は以下のようなかたちでnendのマニュアル通り非同期ロードしています
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { if アプリコンテンツ { cell.icon.kf.setImage(with: URL(string: imgUrl)) } else 広告 { self.nendNativeInstance.loadAdImage { image in cell.icon.image = image } }
みなさまにアドバイスいただきたいこと
TableViewのCellは再利用されていくので、素直にTableViewにnendのネイティブ広告を実装していくと発生してしまうもの考えているのですが、上記のような事象を回避するために工夫されていることがありましたらアドバイスいただけますとありがたいです。
補足情報(FW/ツールのバージョンなど)
Xcode 9.2
Swift 4.1
NendSDK_iOS 4.0.4