Swift If语句和字符串错误
我有 以及Swift If语句和字符串错误,swift,if-statement,Swift,If Statement,我有 以及 if rockNamesArray == "rock2" { let firstPos: CGFloat = 300.0 UIView.animateWithDuration(3.0, animations: { () -> Void in self.mrock.frame = CGRectMake(167, 600, CGFloat(self.mrock.bounds.size.width), CGFloat(self.mrock.boun
if rockNamesArray == "rock2" {
let firstPos: CGFloat = 300.0
UIView.animateWithDuration(3.0, animations: { () -> Void in
self.mrock.frame = CGRectMake(167, 600, CGFloat(self.mrock.bounds.size.width), CGFloat(self.mrock.bounds.size.height))
})}
但它告诉我不能在if语句中使用“==”。我会在适当的地方使用什么。如果要检查
“rock2”
是否在数组中,则“rock2”是一个字符串:
var rockNamesArray:[String ] = ["bird", "rock2", "rock3"]
var rockpos = Int(arc4random_uniform(UInt32(3)))
var firstrockString:String = rockNamesArray[rockpos]
或者,如果要检查数组的某个索引,并将其与中的“rock2”
进行比较,其中n
是索引:
if contains(rockNamesArray, "rock2") {
// Do your stuff
}
如果rocksNamesArray是一个数组,那么你无法将它与Giorasch所说的字符串相比较,
rocksNamesArray
是一个数组。你到底想比较什么?如果rocksNamesArray
包含“rock2”
,或者您必须指定要比较的rocksNamesArray
索引。他们说,数组存储多个字符串变量,因此您希望rockNamesArray[2]数组为我放入数组中的每个图像分配一个值,对吗?因此,我希望它是,如果RNG生成1,它生成1,然后它移动分配值为1的图像。您可能需要枚举数组的项,每个单独的项可以与“rock2”
进行比较。我这样做了,但我想做的是使RNG选择一个数字,0、1或2,然后在屏幕上向下移动图像。我知道你对if rockNamesArray[n]有什么看法,但它只是移动了它们。数组和内容不在视图控制器或任何东西中,动画在ViewDidDisplay func中
var rockNamesArray:[String ] = ["bird", "rock2", "rock3"]
var rockpos = Int(arc4random_uniform(UInt32(3)))
if rockNamesArray[rockpos] == "rock2" {
let firstPos: CGFloat = 300.0
UIView.animateWithDuration(3.0) {
self.mrock.frame = CGRectMake(167, 600, CGFloat(self.mrock.bounds.size.width), CGFloat(self.mrock.bounds.size.height))
}
}