类型“ GKEntity”的值没有成员“ componentForClass”。为什么在Swift 3.0中找不到此方法?

San*_*0rd 3 ios sprite-kit swift gameplay-kit swift3

我正在尝试运行以下行:

guard let spriteComponent = entity?.componentForClass(SpriteComponent.self) else {
   return
}
Run Code Online (Sandbox Code Playgroud)

并收到此:

类型“ GKEntity”的值没有成员“ componentForClass”

显然,苹果从GamePlayKit GkEntity类中删除了此方法。那么我应该使用哪种方法呢?

Mar*_*ord 5

在Swift 3中,此更改为component(ofType:)。所以你的表情看起来像;

guard let spriteComponent = entity?.component(ofType: SpriteComponent.self) else {
   return
}
Run Code Online (Sandbox Code Playgroud)