Question

J'ai créé une méthode dans le ViewController.h appelle - (void)showFullScreenAd.

J'ai essayé de l'appeler à l'intérieur de ma scène.J'ai essayé [auto.vue.de la fenêtre.rootController showFullScreenAd].Ne pouvez pas trouver cette méthode.

J'ai essayé ViewController *vc = [[ViewController alloc] init]

Il l'a fait avec succès NSLog "Annonce Interstitielle de la demande".Mais aucune annonce ne montre.

Si j'utilise la méthode directement dans le ViewController.m - viewDidLoad, il NSLog le même message "Annonce Interstitielle de la demande" et l'affichage d'une Annonce interstitielle.

Était-ce utile?

La solution

Je voudrais utiliser les notifications:l' SKScene objet de postes à l'échelle du système de notification (NSNotification) pour le centre de notification (NSNotificationCenter), et la vue ciblée contrôleur simplement "registres" (c'est à dire, écoute) à la même notification et met en œuvre une méthode de gestionnaire.C'est un modèle dominant en Objective-C/Cococa.

Certains avantages sont:

  1. Il est extensible:si, dans l'avenir, vous voulez envoyer le même message à la-vue-contrôleur forme une scène différente, il vous suffit de poster à la même notification de la nouvelle scène:pas besoin d'inclure les en-têtes et de définir une nouvelle propriété.Seulement besoin de yo comprennent la définition de la notification nom.

  2. La vue-contrôleur propriétaire le point de vue, et la vue présente de la scène.Par pas de référencement le point de vue du contrôleur de la scène, vous évitez le risque d'un cycle de référence et, partant, une fuite de mémoire.

Par ailleurs, c'est ce que je fais dans mes jeux.

Autres conseils

une suggestion à utiliser comment utiliser IAD;

dans la vueController.m:

MyScene * scene = [MyScene sceneWithSize:skView.bounds.size];
scene.viewController = self;

puis dans votre myScene.h mettez ces lignes:

#import "ViewController.h"

@property (nonatomic) ViewController *viewController;

N'oubliez pas non plus d'ajouter IAD dans ViewController.m;

[self.view addSubview:adView];

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top