“GKEntity”类型的值没有成员“componentForClass”。为啥我在 swift 3.0 中找不到这种方法?

Posted

技术标签:

【中文标题】“GKEntity”类型的值没有成员“componentForClass”。为啥我在 swift 3.0 中找不到这种方法?【英文标题】:Value of type 'GKEntity' has no member 'componentForClass'. why I can`t find this method in swift 3.0?“GKEntity”类型的值没有成员“componentForClass”。为什么我在 swift 3.0 中找不到这种方法? 【发布时间】:2016-10-03 02:10:54 【问题描述】:

我正在尝试运行这一行:

guard let spriteComponent = entity?.componentForClass(SpriteComponent.self) else 
   return

并收到:

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

显然苹果已经从GamePlayKitGkEntity类中删除了这个方法。那么我应该改用哪种方法呢?

【问题讨论】:

【参考方案1】:

在 Swift 3 中,这已更改为 component(ofType:)。所以你的表情会是这样的;

guard let spriteComponent = entity?.component(ofType: SpriteComponent.self) else 
   return

【讨论】:

以上是关于“GKEntity”类型的值没有成员“componentForClass”。为啥我在 swift 3.0 中找不到这种方法?的主要内容,如果未能解决你的问题,请参考以下文章

“任何”的值类型没有成员 'objectforKey' Swift 3 转换

Swift 3 - 'Any?' 类型的值没有成员“valueForKey”

“String”类型的值没有成员“stringByAppendingPathComponent”[重复]

“AnyObject”类型的值没有成员年龄

Xcode 13:`'NSPersistentCloudKitContainerOptions' 类型的值没有成员'databaseScope'`

无法弄清楚“ViewController”类型的值没有成员“averageIsAbove”