создать класс NSObject работать с MultipeerConnectivity, и для этого я использую этот код ниже:DismissViewController внутри NSObject класса
DeviceConnect.m
-(id)initConnectionWithDisplayName:(NSString*)value{
myPeerID = [[MCPeerID alloc] initWithDisplayName:value];
mySession = [[MCSession alloc] initWithPeer:self.myPeerID];
mySession.delegate = self;
browserVC = [[MCBrowserViewController alloc] initWithServiceType:@"chat" session:self.mySession];
browserVC.delegate = self;
browserVC.minimumNumberOfPeers = 1;
browserVC.maximumNumberOfPeers = 1;
advertiser = [[MCAdvertiserAssistant alloc] initWithServiceType:@"chat" discoveryInfo:nil session:mySession];
[advertiser start];
return self;
}
-(MCBrowserViewController*)pushConnectView{
return browserVC;
}
- (void)browserViewControllerWasCancelled:(MCBrowserViewController *)browserViewController{
NSLog(@"dismiss the screen");
[browserVC dismissViewControllerAnimated:YES completion:nil];
}
MyViewController.m
DeviceConnect *devices = [[DeviceConnect alloc] initConnectionWithDisplayName:[UIDevice currentDevice].name];
[self.navigationController presentViewController:[devices pushConnectView] animated:YES completion:nil];
Этот код отлично работает, за исключением метода делегата browserViewControllerWasCancelled распознавание, когда мы нажимаем кнопку Отменить существующий в пределах браузера класс VC, почему этот метод не вызывается?
Теперь, если я выложу эти коды в классе myViewController.m, этот метод вернется к работе, но он делает код очень грязным.