Cannot subscript a value of type [String] with an index of type “UInt32”

前端 未结 2 494
自闭症患者
自闭症患者 2020-12-11 22:16

i\'ve been trying to create a code to generate random names. Here it is

import UIKit

 let arrayOfNames: [String] = [\"Giovanni\", \"Simone\", \"Francesco\",         


        
相关标签:
2条回答
  • 2020-12-11 22:51

    You should use an Int to access an array by index

    Replace this

    var casual1 = arc4random_uniform(7)
    var casual2 = arc4random_uniform(7)
    

    with this

    var casual1 = Int(arc4random_uniform(7))
    var casual2 = Int(arc4random_uniform(7))
    
    0 讨论(0)
  • 2020-12-11 22:54

    Swift 4.2 implemented SE-0202: Random Unification Thus there is no need to use the imported C function arc4random(). You can now use Swift’s own native random API. By calling the random() method on any numeric type with the range needed

    Thus

     var casual1 = arc4random_uniform(7)
     var casual2 = arc4random_uniform(7)
    

    should be written as.

    var casual1 = Int.random(in: arrayOfNames.indices)
    var casual2 = Int.random(in: arrayOfsNames.indices)
    
    0 讨论(0)
提交回复
热议问题