use*_*988 5 arrays variables ios swift
我试图通过使用随机索引arc4random
来生成随机索引来访问数组.如果我的"术语的技术用法"不正确,我很抱歉,因为我对开发场景很新.
var backLeft = ["Clear","Drop","Smash"];
var i = (arc4random()%(3))
var shot = backLeft[i]
Run Code Online (Sandbox Code Playgroud)
这给了我第三行的错误,
Could not find an overload for 'subscript' that accepts the supplied arguments.
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用,
var i = 2
var shot = backLeft[i]
Run Code Online (Sandbox Code Playgroud)
然后它没有给我任何问题.来自php背景,我似乎无法弄清楚这里出了什么问题.
谢谢!:) PS:我在Swift Playground里面的XCODE 6上尝试这个
Cez*_*zar 10
这是由于Swift强制执行类型安全.
arc4random()
返回一个UInt32
,下标运算符取一个Int
.
在将其传递给下标运算符之前,您需要确保i
是类型Int
.
您可以通过初始化Int
from 来执行此操作i
:
var shot = backLeft[Int(i)]
Run Code Online (Sandbox Code Playgroud)
或者,您可以在将其分配给i
然后i
正常访问之前对随机值执行相同操作:
var i = Int(arc4random()%(3))
var shot = backLeft[i]
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
727 次 |
最近记录: |