我正在试图弄清楚如何在我的SpriteKit游戏中使用共享表,当我尝试从我的场景中呈现视图控制器时,它会给我一个错误。
if self.nodeAtPoint(location) == self.shareButton {
var tempMessage = "I just got \(score) on [insert app]"
let activityVC:UIActivityViewController = UIActivityViewController(activityItems: [tempMessage], applicationActivities: nil)
self.presentViewController(activityVC, animated: true, completion: nil)
}
这是我的GameOverScene。你究竟如何在Swift中管理viewcontrollers,因为我看到的答案都在OBJ-C中。
谢谢!
答案 0 :(得分:3)
好的,所以我做了一些挖掘,找到了一个有效的解决方案。
基本上,我使用了NSNoticationCenter并在我的GameViewController文件中设置了视图控制器。
override func viewDidLoad() {
.
.
NSNotificationCenter.defaultCenter().addObserver(self, selector: "showSocialNetworks", name: "showSocialNetworksID", object: nil)
}
并使函数被调用
func showSocialNetworks(){
var tempMessage = "Insert your message to be shared on social network"
let activityVC:UIActivityViewController = UIActivityViewController(activityItems: [tempMessage], applicationActivities: nil)
self.presentViewController(activityVC, animated: true, completion: nil)
}
现在跳回我的GameOverScene,我将其设置为当用户点击共享按钮时,它会执行以下代码
if self.nodeAtPoint(location) == self.shareButton {
NSNotificationCenter.defaultCenter().postNotificationName("showSocialNetworksID", object: nil)
}
这可能不是最干净的方法,但它对我有用。希望这有帮助!