Search code examples
swiftscenekitmultipeer-connectivity

Can I use MCBrowserViewControllerDelegate with GameViewController class instead of ViewController class?


I don't think so. The error I receive states Type 'GameViewController' does not conform to protocol 'MCBrowserViewDelegate' https://developer.apple.com/library/prerelease/ios/documentation/MultipeerConnectivity/Reference/MCBrowserViewController_class/index.html


Solution

  • Assuming that GameViewController is a subclass of UIViewController, you certainly can since MCBrowserViewController is a subclass of UIViewController as well.

    The error you are receiving is saying that you are not conforming to the delegate protocols required to use MCBrowserViewController. This means that in order to use a MCBrowserViewController, you first need to add MCBrowserViewDelegate to your class declaration similar to the following.

    class GameViewController: UIViewController, MCBrowserViewDelegate {
    

    You will also want to set your GameViewController to be the delegate within viewDidLoad or wherever you create it.

    // create the MCBrowserViewController
    let browserViewController = MCBrowserViewController(...)     
    browserViewController.delegate = self
    self.presentViewController(browserViewController, animated: true, completion:nil)