实例成员不能在类NSObject

时间:2016-02-25 03:20:15

标签: ios swift swift2

我收到一条显示以下消息的错误:

  

logoImage不能用于“Home

类型

我很困惑为什么我收到此错误消息。任何帮助是极大的赞赏!

如果您需要更多信息来帮助回答问题,请发表评论,我会为您提供所需的信息。

提前谢谢!

class Home: NSObject {

    var logoImage: [String] = [
         "apple.png",
         "Mango.png",
         "Strawberry.png",
         "Cat.png",
        ]

    class func homeDisplayImage() -> String  {
        for var i = 0; i < 3; i++ {
            return logoImage[i]
        }
    }
}

2 个答案:

答案 0 :(得分:4)

在Java意义上; static函数无法引用非static成员。在Swift中也是如此。您的logoImage不是statichomeDisplayImagestatic函数。

您需要从函数中删除class

func homeDisplayImage() -> String  {
for var i = 0; i < 3; i++ {
    return logoImage[i]
}

或向static添加var

static var logoImage: [String] = [
    "apple.png",
    "Mango.png",
    "Strawberry.png",
    "Cat.png",
]

答案 1 :(得分:0)

如果您希望homeDisplayImage()成为Home类的函数,请从前面取出“class”一词。你也错过了一个结束括号。如果您使用此代码,则运行时没有错误:

class Home: NSObject {
    var logoImage: [String] = [
        "apple.png",
        "Mango.png",
        "Strawberry.png",
        "Cat.png",
    ]

    func homeDisplayImage() -> String  {
        for var i = 0; i < 3; i++ {
            return logoImage[i]
        }
    }
}