Wie zu beheben "Member-Zugang in incomplete type" - Fehler

Ich versuche mich zu integrieren iAd in eine cocos2d-x-Projekt, wie beschrieben in:
http://becomingindiedev.blogspot.com.es/2015/02/integrating-iad-in-cocos2d-x-v3x.html

AdBanner.h

 #import <Foundation/Foundation.h>  
 #import <iAd/iAd.h>  
 @class RootViewController;   
 @interface AdBanner : NSObject<ADBannerViewDelegate>  
 {  
   UIWindow* window;  
   RootViewController* rootViewController;  
   ADBannerView* adBannerView;  
   bool adBannerViewIsVisible;  
 }  

AdBanner.mm

@implementation AdBanner

 -(id)init  
 {  
   if(self=[super init])  
   {  
     adBannerViewIsVisible = YES;  
     rootViewController =  
       (RootViewController*) [[[UIApplication sharedApplication] keyWindow] rootViewController];  
     window = [[UIApplication sharedApplication] keyWindow];  
     [self createAdBannerView];  
   }  
   return self;  
 }  

-(void)layoutAnimated:(BOOL)animated
{
    CGRect bannerFrame = adBannerView.frame;
    //Has the banner an advestiment?
    if ( adBannerView.bannerLoaded && adBannerViewIsVisible )
    {
        NSLog(@"Banner has advertisement");
        bannerFrame.origin.y = window.bounds.size.height - bannerFrame.size.height;
    } else
    {
        NSLog( @"Banner has NO advertisement" );
        //if no advertisement loaded, move it offscreen
        bannerFrame.origin.y = window.bounds.size.height;
    }
    [UIView animateWithDuration:animated ? 0.25 : 0.0 animations:^{
        [rootViewController.view layoutIfNeeded]; //Member access into incomplete type "RootViewController"
        adBannerView.frame = bannerFrame;
    }];
}
@end

In der unteren Zeile in AdBanner.mm gibt den Fehler:

    [rootViewController.view layoutIfNeeded]; //Member access into incomplete type "RootViewController"

Wie kann ich dies beheben ?

rootViewController sieht aus wie ein Zeiger, versuchen ->?
Dies ist objective-c++ - code.
Es wurde getaggt c++ vor vsoftco bearbeitet es.....
Sie haben #import "RootViewController.h" im AdBanner.mm?
Der Kommentar von @Paulw11, was Sie brauchen. Die .h-Datei hat nur eine vorwärts-Deklaration von RootViewController. Die .mm muss tatsächlich importieren die header für RootViewController. Paul - poste es als Antwort.

InformationsquelleAutor Kaizer Sozay | 2015-04-30

Schreibe einen Kommentar