首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift错误-在类型上使用实例成员

Swift错误-在类型上使用实例成员
EN

Stack Overflow用户
提问于 2016-05-02 19:46:21
回答 1查看 916关注 0票数 0

下面的代码给出了错误:“在类型Snips上使用实例成员'getRandomBoy‘...”。

我想在“snipArray”中使用“getRandomBoy”方法。

这个是可能的吗?

代码语言:javascript
复制
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]
}
}
EN

回答 1

Stack Overflow用户

发布于 2016-05-02 19:58:34

要访问内部方法,需要在functionvariables声明之前写入static关键字。

以下是修改后的代码:

代码语言:javascript
复制
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]
    }
}

希望这能有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36981671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档