- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 tableView,我试图每隔特定次数填充广告。我正在使用一个结构来存储我的变量。
struct postStruct
{
var image : UIImage?
var label : String?
var captions : String?
var ad: GADNativeExpressAdView?
}
然后我在某些地方附加某些东西。我的 tableview 中的 if 语句有问题,如果变量不等于 nil,我想在其中加载广告。这是我当前的代码,它只是在 else 语句中用常规单元格填充整个 TableView 。我怀疑它可能与 indexPath 有关,但我已经尝试了所有给定的。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
if arrayOfPosts[indexPath.row].ad != nil{
let adView = arrayOfPosts[indexPath.row].ad
let reusableAdCell = tableViewOne.dequeueReusableCellWithIdentifier("NativeExpressAd", forIndexPath: indexPath) as! NativeExpressAd
for subView in reusableAdCell.contentView.subviews {
subView.removeFromSuperview()
}
reusableAdCell.addSubview(adView!)
adView?.center = reusableAdCell.contentView.center
return reusableAdCell
}
else{
let cell = tableViewOne.dequeueReusableCellWithIdentifier("popularCell", forIndexPath: indexPath) as! PopTableViewCell
return cell
}
}
这是我两次填充 arrayOfPosts
func getData()
{
arrayOfPosts = [
postStruct.init(image: UIImage(named: "profileIcon-1") , label: "Test 1", captions: "Test 1", ad: nil),
postStruct.init(image: UIImage(named: "profileICONTRY3-1") , label: "Test 2", captions: "Test 2", ad: nil),
postStruct.init(image: UIImage(named: "self") , label: "Test 3", captions: "Test 3", ad: nil),
postStruct.init(image: UIImage(named: "profileIcon-1") , label: "Test 4", captions: "Test 4", ad: nil), postStruct.init(image: UIImage(named: "profileICONTRY3-1") , label: "Test 5", captions: "Test 5", ad: nil),
postStruct.init(image: UIImage(named: "self") , label: "Test 6", captions: "Test 6", ad: nil)
]
}
这是我得到广告的地方
func NativeAdsExpress
{
var index = 2
let size = GADAdSizeFromCGSize(CGSize(width: adWidth, height: adHeight))
while index < arrayOfPosts.count
{
let adView = GADNativeExpressAdView(adSize: size)
adView?.adUnitID = "ca-app-pub-6067365138487039/8892521700"
adView?.rootViewController = self
adView?.delegate = self
let new = postStruct(image: nil, label: nil, captions: nil, ad: adView)
adToLoad.append(adView!)
arrayOfPosts.insert(new, atIndex: index)
tableViewOne.reloadData()
index += adInterval
}
}
最佳答案
我们假设 arrayOfPosts 的元素数量与单元格中的元素数量一样多。否则你可能在数组或其他任何东西之外有一个错误索引。如果您有放置广告的单元格,您应该只将值分配给单元格广告。我不明白为什么要在单元格内放置一个重新加载表。如果你在这个方法中是因为表正在重新加载。NativeExpressAd 单元格应该在 GADNativeExpressAdView 类型或 UIView 类型(取决于 GADNativeExpressAdView 必须显示信息)中有一个 View ,例如调用 adView 并且您应该只将结构的内容分配给该 View ,或多或少像这样:
reusableAdCell.adView = arrayOfPosts[indexPath.row].ad
return reusableAdCell
您可以显示 NativeExpressAd 单元格的代码
更新:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
if arrayOfPosts[indexPath.row].ad != nil{
let adView = arrayOfPosts[indexPath.row].ad
let reusableAdCell = tableViewOne.dequeueReusableCellWithIdentifier("NativeExpressAd", forIndexPath: indexPath) as! NativeExpressAd
reusableAdCell.adView = adView
return reusableAdCell
} else{
let cell = tableViewOne.dequeueReusableCellWithIdentifier("popularCell", forIndexPath: indexPath) as! PopTableViewCell
// put values of cell, label, caption, etc
return cell
}
关于swift - 如果结构项等于 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41907128/
在检查对象是否为 nil 时,有人使用 1: if (object == nil) { //... } 有人用 2: if (nil == object) { //... } 1和2有
func InsertApData(w http.ResponseWriter, r *http.Request) { decoder := json.NewDecoder(r.Body)
为什么 nil.to_s 返回 "",而 nil.inspect 返回 "nil"(当显然 .inspect 使用 .to_s 方法) 最佳答案 "inspect" method of the Obj
运行时间 https://play.golang.org/p/sl12vfS9vP package main import "fmt" func main() { err := run()
我可以将三元条件运算符用于 if {} else {} 语句,如下所示:a ? x : y,还是问题?回答 1 : 回答 2。 是否可以使用这种格式来检查,而不是 a 是 true 还是 false,
无法弄清楚这里出了什么问题。按照设计设置说明,用谷歌搜索我能想到的一切,仍然没有运气。 undefined method `email' for # Extracted source (around
今天写一些 rspec 时,我遇到了一些意外的行为,将日期(和时间)实例与 nil 进行比较。这是一个使用原始 ruby 的示例(没有 Rails 或其他库): user@MacBook-Work
我将数据类型的非零值分配给非可选属性,然后将其分配给可选属性,最后用所述数据实例化图像。当可选项通过 if-let 子句时,它的 block 执行,抛出错误: Fatal error: Unexpec
swift 5.1 。 考虑以下。 let x: Any? = nil let y: Any = x print("x \(x)") // x nil pri
请耐心听我解释这一点, 我正在创建一个聊天室,用户可以在其中上传照片供其他人查看。当用户点击图标时,他们可以将照片上传到我的 Firebase 数据库(这已成功完成,我已经对此进行了测试)。照片的 U
我的 xCode 5.0 目前遇到一个奇怪的问题:一个对象在控制台中似乎为 nil,但同时它可以通过代码访问。 图 1:对象似乎为零 图2:NSLog(@"%@", imgDownloader) 的输
我有一个实现协议(protocol)的类,以便添加 3 个变量。我专门设置了图像变量,调试器显示该变量存在,但是在我打印它时在代码中显示为 nil,我的 if let 语句也认为该变量为 nil。 @
这个问题在这里已经有了答案: Swift 2 ( executeFetchRequest ) : error handling (5 个答案) 关闭 7 年前。 开始在 SWIFT 中学习编码,每次
两者 (not 'nil) 和 (not nil) 求值为T,那么'nil和nil有什么区别吗?那么 ''nil 呢?如果 ''nil 的计算结果为 'nil,那么 ''nil 是否也应该计算为 ni
(if '(nil nil) 'print-true 'print-false) (if '(nil) 'print-true 'print-false) 在上面的代码
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: obj.nil? vs. obj == nil 我发现了一个问题 - == nil 和 nil 哪个更好?
此代码段抛出异常: x = nil jsoned = x.to_json puts 'x.to_json=' + jsoned.inspect puts 'back=' + JSON.parse(js
基本上我有一个对象想要传递给前端。我在后端记录了它,它不是空的,但是在前端,当我提醒它时,它变成了空。 ... presentation := &presentationStruct { Obje
我创建了一个自定义错误类型来包装错误,以便在 Golang 中更轻松地进行调试。当有错误要打印时它可以工作,但现在它会引起 panic 。 Demo type Error struct { E
写一个符合我当前问题的标题有点难..我有一个 main() 函数,它使用另一个包 (database_sql) 中的函数。该函数初始化一个全局变量 sql.DB*。初始化后,变量不为nil,但是对于其
我是一名优秀的程序员,十分优秀!