gpt4 book ai didi

ios - 为什么 return 0 永远不会在这段代码中执行?

转载 作者:行者123 更新时间:2023-11-28 11:28:40 25 4
gpt4 key购买 nike

我正在使用 if 和 else if 来确定两种不同屏幕尺寸的正确高度,我在“返回 0”时收到警告,说它永远不会被执行。如何消除此警告?

是否可以用例? X

func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

if UIScreen.main.sizeType == .iPhone4 || UIScreen.main.sizeType == .iPhone5 {
return 213
} else if UIScreen.main.sizeType == .iPhone6 {
return 249
} else {
return 276
}

return 0
}

最佳答案

你的代码必须采用 if/else if/else block 中的三个分支之一,并且所有三个分支都返回,因此执行永远不会超过这个 block 。编译器足够聪明,可以注意到这一点(死代码删除优化)并向您发出警告。可能最简单的方法是:

  • 省略 return 0 行
  • 更改您的代码,使 else 分支不再是 else:
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {

if UIScreen.main.sizeType == .iPhone4 || UIScreen.main.sizeType == .iPhone5 {
return 213
} else if UIScreen.main.sizeType == .iPhone6 {
return 249
}
return 276

}

关于ios - 为什么 return 0 永远不会在这段代码中执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57435925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com