Моя цель - показать, что в моем UITableView есть собственные объявления для объявлений, в которых используются разделы. Каждая 10-я ячейка TOTAL (объединяющая ячейки из всех разделов) должна быть Нативным экспресс-объявлением. Каждая другая ячейка будет нормальной ячейкой.Родные экспресс-объявления не отображаются в моем UITableView
Проблема в том, что реклама не появляется. Я считаю, что проблема кроется в моей работе с cellForRowAt. Я последовал за инструкцией Эндрю Брогдона: https://www.youtube.com/watch?v=chNb7-k6m4M - Я думаю, что часть, с которой я запуталась, находится вокруг отметки 5:10.
Я заливкой ObjectsArray, как AnyObject, так что клетки могут держать оба FruitObjects и GADNativeExpressAdView
Мой код:
Класс:
struct FruitObjects {
var sectionName: String!
var sectionObjects: [FruitModel]!
}
var objectsArray = [AnyObject]()
viewDidLoad:
objectsArray = [
FruitObjects(sectionName: "A", sectionObjects: [
FruitModel(fruitTerm: "Apple", definition: "Lorem Ipsum Dolor Sit Amet."),
FruitModel(fruitTerm: "Apple 2", definition: "Lorem Ipsum Dolor Sit Amet."),
FruitModel(fruitTerm: "Apple 3", definition: "Lorem Ipsum Dolor Sit Amet.")
]) as AnyObject,
FruitObjects(sectionName: "B", sectionObjects: [
FruitModel(fruitTerm: "Banana", definition: "Lorem Ipsum Dolor Sit Amet."),
FruitModel(fruitTerm: "Banana 2", definition: "Lorem Ipsum Dolor Sit Amet."),
FruitModel(fruitTerm: "Banana 3", definition: "Lorem Ipsum Dolor Sit Amet.")
]) as AnyObject,
FruitObjects(sectionName: "C", sectionObjects: [
FruitModel(fruitTerm: "Clementine", definition: "Lorem Ipsum Dolor Sit Amet."),
FruitModel(fruitTerm: "Clementine 2", definition: "Lorem Ipsum Dolor Sit Amet.")
]) as AnyObject
]
UITableViewDataSource:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let myCast = objectsArray[section] as? FruitObjects
return myCast!.sectionObjects.count
}
func numberOfSections(in tableView: UITableView) -> Int {
return objectsArray.count
}
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
let myCast = objectsArray[section] as? FruitObjects
return myCast!.sectionName
}
cellForRowAt:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if let myCast = objectsArray[indexPath.section] as? FruitObjects{
let cell = tableView.dequeueReusableCell(withIdentifier: "CellID", for: indexPath)
cell.textLabel?.text = myCast.sectionObjects[indexPath.row].fruitTerm
print("CELL")
return cell
}
else {
let adView = objectsArray[indexPath.row] as! GADNativeExpressAdView
let reusableAdCell = tableView.dequeueReusableCell(withIdentifier: "NativeExpressAdViewCellReuseID", for: indexPath)
// MISSING removeFromSuperview https://www.youtube.com/watch?v=chNb7-k6m4M 5:51
reusableAdCell.contentView.addSubview(adView)
adView.center = reusableAdCell.contentView.center
print("NATIVE")
}
}
Можете ли вы помочь мне получить Native объявлений, показываемых каждую 10-ю ячейку?
Я считаю, что проблема заключается в коде, который я разместил выше. Возможно, в моем кастинге? Если ничто не выглядит раздражающе, сообщите мне, и я опубликую больше своего ViewController.
Благодарим вас за любую помощь, которую вы можете предоставить!