【问题标题】:Array in Swift returning errorSwift中的数组返回错误
【发布时间】:2015-03-06 11:57:12
【问题描述】:

我正在尝试创建一个从数组中获取随机单词的变量。我正在使用下面的方法找到它,但是它给了我一个错误“Missing return function expected to return 'String”

let array: [String] = ["Example1", "Example2"]

var chooseOne: String {

        [Int(arc4random_uniform(UInt32(self.array.count)))]

    }

如何让该功能发挥作用? 我是 swift 的新手,任何帮助将不胜感激。 提前致谢!

【问题讨论】:

  • 你应该选择一个答案

标签: arrays variables swift random words


【解决方案1】:

两个问题:

1) 你需要在那里退货。计算属性(即var propertyName: Type { someCalculation })不像闭包(简单的 1 行表达式可以跳过 return 语句并将其作为表达式的值)。

2) 假设你想从数组中获取一个值,你需要实际索引到数组中。

var chooseOne: String {

    return array[Int(arc4random_uniform(UInt32(self.array.count)))]

}

【讨论】:

    【解决方案2】:

    你的代码应该返回字符串:

        var chooseOne: String {
    
            return "\(Int(arc4random_uniform(UInt32(self.array.count))))"
    
        }
    

    【讨论】:

      【解决方案3】:

      错误说明你错过了添加return语句:

      return [Int(arc4random_uniform(UInt32(self.array.count)))]
      ^^^^^^
      

      但是代码还有另一个错误:您没有指定数组。正确的做法是:

      return  self.array[Int(arc4random_uniform(UInt32(self.array.count)))]
              ^^^^^^^^^^
      

      【讨论】:

        【解决方案4】:

        变量应该返回字符串。

        let array = ["Example1", "Example2"]
        
        var chooseOne: String {
        
            let randomIndex = Int(arc4random_uniform(UInt32(array.count)))
        
            return array[randomIndex]
        }
        

        【讨论】:

          【解决方案5】:

          这个函数是我用来从数组中随机选择一些东西的:

          func function_name() -> return_type  {
                      ^                 ^
                  var unsignedArrayCount = UInt32(diceImages.count)
                  var unsignedRandomNumber = arc4random_uniform(unsignedArrayCount)
                  var randomNumber = Int(unsignedRandomNumber)
          
                  return array_name[randomNumber]
                              ^
              }
          

          我在代码下面放了一个胡萝卜,它是特定于你使用它的情况的。

          【讨论】:

            猜你喜欢
            • 2020-03-11
            • 2022-08-04
            • 1970-01-01
            • 1970-01-01
            • 2018-10-13
            • 1970-01-01
            • 1970-01-01
            • 2021-03-13
            • 1970-01-01
            相关资源
            最近更新 更多