类扩展了SKScene但无法访问其属性

时间:2016-11-20 10:10:33

标签: swift inheritance sprite-kit

我有一个扩展SKScene的Menu类,但我无法访问视图,这是SKScene的一个属性。相反,我收到以下错误:“实例成员'视图'不能用于类型菜单。”

我需要做些什么特别的访问吗?似乎应该已经可以调用它了。

以下是该课程的缩短版本:

pry(#<Overrides::RegistrationsController>)> @resource
=> #<User id: nil, provider: "email", uid: "", first_name: "John1", last_name: "Doe1", email: "c0f45@example.com", role: "Student", created_at: nil, updated_at: nil, groups: {"data"=>[{"serie"=>5, "year"=>3, "specialization"=>"Matematica", "management_id"=>1, "group_number"=>2}, {"serie"=>5, "year"=>3, "specialization"=>"Matematica", "management_id"=>1, "group_number"=>2}]}>

问题出在最后一行。在它上面我评论了一个不同的尝试,但这也没有用。

1 个答案:

答案 0 :(得分:2)

您必须注意实例方法和类型方法之间的区别。在特定类型的实例上调用实例方法。你可以像这样定义它们:

class SomeClass {

    func myInstanceMethod() {

    }
}

类型方法,是在类型本身上调用的方法。您可以使用static关键字定义它们,或者在示例中使用class关键字(类关键字允许子类覆盖超类的该方法的实现)。

因此,简而言之,您应该使用实例方法,因为self在您的情况下引用当前实例,而不是Menu类型(只需删除class关键字)。