0

viewControllerゲームのマッチメイキングを設定したいと思います。そのために、次のようになるように、という名前GKMatchmakerViewControllerDelegateのメインにデリゲートを追加します。UIViewControllerHome

class Home: UIViewController, GKGameCenterControllerDelegate, GKMatchmakerViewControllerDelegate {

マッチメイキング インターフェイスをロードするために、次のコードを使用しています。

func openMatchmaker() {
    var gcViewController: GKMatchmakerViewController = GKMatchmakerViewController(rootViewController: self)

    gcViewController.matchmakerDelegate = self

    gcViewController.hosted = false
    gcViewController.matchRequest.minPlayers = 2
    gcViewController.matchRequest.maxPlayers = 2
    gcViewController.matchRequest.defaultNumberOfPlayers = 2

    self.showViewController(gcViewController, sender: self)
    self.navigationController?.pushViewController(gcViewController, animated: true)
}

class Home: ...ただし、コードを実行しようとすると、次のエラーが表示されます。エラーメッセージには次のように記載されています。

 Type 'Home' does not conform to protocol `GKMatchmakerViewControllerDelegate`. 

なぜそれが起こっているのですか?

4

2 に答える 2

1

このエラーが発生するのは、ほとんどの場合、特定のプロトコルに必要な機能を実装していないためです。それらは、そのプロトコルをクリックしてコマンドで表示できます。次のメソッドを追加します。

func matchmakerViewController(viewController: GKMatchmakerViewController!,
    didFailWithError error: NSError!) {
}

func matchmakerViewController(viewController: GKMatchmakerViewController!,
    didFindHostedPlayers players: [AnyObject]!) {
}

func matchmakerViewControllerWasCancelled(viewController: GKMatchmakerViewController!) {
}

func matchmakerViewController(viewController: GKMatchmakerViewController!,
    hostedPlayerDidAccept player: GKPlayer!) {
}
于 2015-02-14T14:58:49.180 に答える