【问题标题】:Constant in same function throws up unresolved identifer同一函数中的常量抛出未解析的标识符
【发布时间】:2020-04-19 12:50:16
【问题描述】:

我有以下代码,它给了我错误

“使用未解析的标识符‘randomcell’

但是前面在同一个函数中已经明确定义了randomcell,为什么Else部分看不到呢?我尝试在 else 部分重新定义它,但它只是选择了另一个单元格,我想在函数的第二部分引用相同的随机元素。

if seconds == 5 {
           let randomcell = viewArray.randomElement()
           randomcell?.backgroundColor = UIColor .red
           }
           else  {

               randomcell?.backgroundColor = UIColor .systemYellow
           }

【问题讨论】:

  • randomcell 在 if 闭包中定义。它没有在 else-closure 中定义。 let randomcell = viewArray.randomElement() 需要在你的 if 语句之前定义
  • 好的。谢谢你的回答。那么我将如何跟踪第一部分选择的随机元素以便在第二部分中更改它?
  • 如果是范围,您正在使用 randomCell 。如果您的 else 语句正在执行,则没有随机单元的定义。在 if 语句之前定义它。
  • @πter 好的,谢谢你的回答,这已经解决了错误但不是问题,我希望 else 部分引用相同的随机选择的元素,但它直接转到下一个一,我可以问一下,一旦定义了随机单元,我该如何跟踪它?
  • @Chris 谢谢你的建议,正如另一位先生所说,这已经解决了错误,但没有解决更大的问题,即一旦选择了随机元素就跟踪它。任何想法,将不胜感激?亲切的问候

标签: arrays swift xcode


【解决方案1】:
let randomcell = viewArray.randomElement()
if seconds == 5 {
    randomcell?.backgroundColor = UIColor .red
}
else {
    randomcell?.backgroundColor = UIColor .systemYellow
}
// You can use your random cell

我建议您查看Swift language guide。这是对 Swift 语言的非常好的介绍。

【讨论】:

  • 感谢您抽出宝贵时间,我会看看。如果您对如何重用随机选择的元素有任何想法,那就太好了。顺便说一句,我去过科希策,那是我生命中美好时光的一座美丽城市,我们坐在一家大型日耳曼主题酒吧里,喝了一大杯啤酒。保重。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-25
  • 2018-11-29
相关资源
最近更新 更多