Mein Ziel ist es, Native Express-Anzeigen in meinem UITableView anzuzeigen, das Abschnitte verwendet. Jede 10. TOTAL-Zelle (die Zellen aus allen Abschnitten miteinander kombiniert) sollte eine Native Express-Anzeige sein. Jede andere Zelle wird eine normale Zelle sein.Native Express-Anzeigen werden in meinem UITableView nicht angezeigt.
Das Problem ist, dass keine Anzeigen jemals angezeigt werden. Ich glaube, das Problem liegt in meiner cellForRowAt-Besetzung. Ich folgte Andrew Brogdons Tutorial hier: https://www.youtube.com/watch?v=chNb7-k6m4M - Ich denke, der Teil, bei dem ich verwirrt bin, ist um 5:10.
ich die objectsArray als ANYOBJECT bin Gießen, so dass die Zellen, die beide FruitObjects halten und GADNativeExpressAdView
Mein Code:
Klasse:
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")
}
}
Können Sie mir Native Anzeigen helfen, jede 10. Zelle angezeigt?
Ich glaube, das Problem liegt in dem Code, den ich oben gepostet habe. Vielleicht in meinem Casting? Wenn nichts störend ausschaut, lass es mich wissen und ich werde mehr von meinem ViewController posten.
Vielen Dank im Voraus für jegliche Hilfe, die Sie leisten können!