objective c - ios - property not found when using forwarded class -
i trying implement vuforiasdk in existing project , running problem: cannot access custom properties , methods of object subtype of uiview class. seems can use uiview properties , not own.
here's of code:
eaglview.h
#import "ar_eaglview.h" #define kqcarmarkerscanned @"qcarmarkerscanned" @interface eaglview : ar_eaglview { } @property (nonatomic, retain) nsstring *myval; - (id)blablawithframe:(cgrect)frame; @end
eaglview.mm
#import "eaglview.h" #import "teapot.h" #import "texture.h" #import <qcar/renderer.h> #import <qcar/videobackgroundconfig.h> #import "qcarutils.h" ... @implementation eaglview - (id)blablawithframe:(cgrect)frame { nslog(@"bla bla enters.."); return [self initwithframe:frame]; } - (id)initwithframe:(cgrect)frame { self = [super initwithframe:frame]; myval = @"initwithframe"; if (self) { ... } return self; }
arviewcontroller.h
#import <uikit/uikit.h> @class eaglview, qcarutils; @interface arviewcontroller : uiviewcontroller { @public iboutlet eaglview *arview; // augmented reality view cgsize arviewsize; // required view size @protected qcarutils *qutils; // qcar utils singleton class @private uiview *parentview; // avoids unwanted interactions between uiviewcontroller , eaglview nsmutablearray* textures; // teapot textures bool arvisible; // state of visibility of view } @property (nonatomic, retain) iboutlet eaglview *arview; @property (nonatomic) cgsize arviewsize; - (void) handlearviewrotation:(uiinterfaceorientation)interfaceorientation; - (void)freeopenglesresources; @end
arviewcontroller.mm
#import <quartzcore/quartzcore.h> #import "arviewcontroller.h" #import "qcarutils.h" #import "eaglview.h" #import "ar_eaglview.h" #import "texture.h" @interface arviewcontroller () - (void) unloadviewdata; - (void) handlearviewrotation:(uiinterfaceorientation)interfaceorientation; @end @implementation arviewcontroller @synthesize arview; @synthesize arviewsize; ... - (void)loadview { nslog(@"arvc: loadview"); cgrect viewbounds; viewbounds.origin.x = 0; viewbounds.origin.y = 0; viewbounds.size.width = arviewsize.height; viewbounds.size.height = arviewsize.width; //arview = [[eaglview alloc] initwithframe: viewbounds]; // have replaced line arview = [[eaglview alloc] blablawithframe:viewbounds]; // 1 - custom method - gives error "method blablawithframe not selector eaglview class" parentview = [[uiview alloc] initwithframe: viewbounds]; [parentview addsubview:arview]; self.view = parentview; } - (void)viewdidload { nslog(@"arvc: viewdidload"); nslog(@"arview class = %@", [arview class]); if (textures == nil) textures=[qutils loadtextures:arview.texturelist]; // here occurs error saying texturelist property doesn't exists [arview usetextures:textures]; [qutils createarofsize:arviewsize fordelegate:arview]; arvisible = no; }
.. , "unrecognized selector sent instance" error everytime try access property of arview object
i have tried (almost) everything... still have no idea what's causing it. if has clue of settings maybe set in project, please help!
thanks!
Comments
Post a Comment