我这里有一段代码,我似乎无法弄清楚它为什么不起作用。
viewController应该检查开关是打开还是关闭。
class ViewControllerFirst: UIViewController {
@IBAction func friendFunc(){
if friendSwitch.on{
friendOn = true
} else {
friendOn = false
}
}
func returnFriend() -> Bool{
return friendOn
}
}
如果开关打开,则应将一个数组添加到tempArray。
import Foundation
struct DareBook {
let fview = ViewControllerFirst()
let dareArrayFriend = [""]
func randomDare() -> String{
var tempArray = [""]
if ViewControllerFirst().returnFriend() == true{
tempArray += dareArrayFriend
}
var unsignedArrayCount = UInt32(tempArray.count)
var unsignedRandomNumber = arc4random_uniform(unsignedArrayCount)
var randomNumber = Int(unsignedRandomNumber)
return tempArray[randomNumber]
}
}
我在构建时没有收到任何错误消息,但它单挑这一行:
func returnFriend() -> Bool{
答案 0 :(得分:1)
看起来每次检查布尔值时都会实例化一个新的视图控制器,(ViewControllerFirst()
似乎至少应该是fview
并且我不认为fview是
答案 1 :(得分:1)
调用该函数时,您正在创建一个新的视图控制器。这可能不是你想要的。
func randomDare() -> String{
var tempArray = [""]
// if ViewControllerFirst().returnFriend() == true{ <--- this line can't be right
if fview.returnFriend() == true{
tempArray += dareArrayFriend
}
var unsignedArrayCount = UInt32(tempArray.count)
var unsignedRandomNumber = arc4random_uniform(unsignedArrayCount)
var randomNumber = Int(unsignedRandomNumber)
return tempArray[randomNumber]
}
}