下面的代码给出了错误:“在类型Snips上使用实例成员'getRandomBoy‘...”。
我想在“snipArray”中使用“getRandomBoy”方法。
这个是可能的吗?
Import Darwin
struct Snips {
let boyNames: [String]
let snipArray: [String] = [
"Drink A beer",
"Drink yet another Beer",
"Drink 4 beers",
"\(getRandomBoy()) has to drink)"
]
func getRandomSnip() -> String{
let randomNumber: Int = Int(arc4random_uniform(UInt32(snipArray.count)))
return snipArray[randomNumber]
}
func getRandomBoy() -> String{
let randomNumber: Int = Int(arc4random_uniform(UInt32(boyNames.count)))
return boyNames[randomNumber]
}
}发布于 2016-05-02 19:58:34
要访问内部方法,需要在function和variables声明之前写入static关键字。
以下是修改后的代码:
struct Snips {
static let boyNames = ["Hi", "Hello"]
static let snipArray: [String] = [
"Drink A beer",
"Drink yet another Beer",
"Drink 4 beers",
"\(Snips.getRandomBoy()) has to drink)"
]
static func getRandomSnip() -> String{
let randomNumber: Int = Int(arc4random_uniform(UInt32(snipArray.count)))
return snipArray[randomNumber]
}
static func getRandomBoy() -> String{
let randomNumber: Int = Int(arc4random_uniform(UInt32(boyNames.count)))
return boyNames[randomNumber]
}
}希望这能有所帮助!
https://stackoverflow.com/questions/36981671
复制相似问题