objective c - drawLayer:inContext - Unrecognized selector sent to instance -


i'm trying create uiviewcontroller draws layer , works fine if uiviewcontroller main one. however, if try initialize inside controller , add it's view sub view of main controller's view results in following error:

-[__nscftype drawlayer:incontext:]: unrecognized selector sent instance 0x155140 

here relevant code custom uiviewcontroller (pdfpageviewcontroller):

- (void)loaddocument:(pdfdocument *)document {     self._document = document;      cgrect pagerect = cgrectintegral(cgpdfpagegetboxrect(self._document.page, kcgpdfcropbox));      pagerect.origin.x = (self.view.frame.size.width / 2) - (pagerect.size.width / 2) - 35;      catiledlayer *tiledlayer = [catiledlayer layer];     tiledlayer.delegate = self;     tiledlayer.tilesize = cgsizemake(1024.0, 1024.0);     tiledlayer.levelsofdetail = 1000;     tiledlayer.levelsofdetailbias = 1000;     tiledlayer.frame = pagerect;      contentview = [[uiview alloc] initwithframe:pagerect];     [contentview.layer addsublayer:tiledlayer];      cgrect viewframe = self.view.frame;     viewframe.origin = cgpointzero;      uiscrollview *scrollview = [[uiscrollview alloc] initwithframe:viewframe];     scrollview.delegate = self;     scrollview.contentsize = pagerect.size;     scrollview.maximumzoomscale = 1000;     [scrollview addsubview:contentview];      [self.view addsubview:scrollview];         nslog(@"%@", self); // checking if there's nothing overwriting layer's delegate }  - (uiview *)viewforzoominginscrollview:(uiscrollview *)scrollview {     return contentview; }  - (void)drawlayer:(calayer *)layer incontext:(cgcontextref)ctx {     if(self._document) {         cgcontextsetrgbfillcolor(ctx, 1.0, 1.0, 1.0, 1.0);         cgcontextfillrect(ctx, cgcontextgetclipboundingbox(ctx));         cgcontexttranslatectm(ctx, 0.0, layer.bounds.size.height);         cgcontextscalectm(ctx, 1.0, -1.0);         cgcontextconcatctm(ctx, cgpdfpagegetdrawingtransform(self._document.page, kcgpdfcropbox, layer.bounds, 0, true));         cgcontextdrawpdfpage(ctx, self._document.page);     } } 

the drawlayer method there , calayer's delegate self.

and how call on main controller:

pageviewcontroller = [[[pdfpageviewcontroller alloc] initwithnibname:null bundle:null] autorelease]; [pageviewcontroller loaddocument:self.document];  [self.view addsubview:[pageviewcontroller view]]; 

am not doing proper way? can't understand why works fine if draw layer on main controller , results on error if draw made on pdfviewcontroller. method in there, delegate self. why selector failing?

[re-posted comments because turned out answer!]

this sounds memory management problem. have tried nszombieenabled? there chance you've over-released something? using arc?


Comments

Popular posts from this blog

c++ - Is it possible to compile a VST on linux? -

java - Output of Eclipse is rubbish -

jquery - Confused with JSON data and normal data in Django ajax request -