ios - Getting error using iCarousel -


this icarouselviewcontroller.m

- (void)dealloc     {         //it's idea set these nil here avoid         //sending messages deallocated viewcontroller         carousel1.delegate = nil;         carousel1.datasource = nil;         carousel2.delegate = nil;         carousel2.datasource = nil;          [carousel1 release];         [carousel2 release];         [items1 release];         [items2 release];         [super dealloc];     } 

i getting error saying

'release' unavailable: not available in automatic reference counting mode
arc forbids explicit message send of 'release'
'release' unavailable: not available in automatic reference counting mode
arc forbids explicit message send of 'release'
'release' unavailable: not available in automatic reference counting mode
arc forbids explicit message send of 'release'
'release' unavailable: not available in automatic reference counting mode
arc forbids explicit message send of 'release'
arc forbids explicit message send of 'dealloc'

and error in code aswell

- (uiview *)carousel:(icarousel *)carousel viewforitematindex:(nsuinteger)index reusingview:(uiview *)view {     uilabel *label = nil;      //create new view if no view available recycling     if (view == nil)     {         view = [[[uiimageview alloc] initwithframe:cgrectmake(0, 0, 200.0f, 200.0f)] autorelease];         ((uiimageview *)view).image = [uiimage imagenamed:@"page.png"];         view.contentmode = uiviewcontentmodecenter;         label = [[[uilabel alloc] initwithframe:view.bounds] autorelease];         label.backgroundcolor = [uicolor clearcolor];         label.textalignment = uitextalignmentcenter;         label.font = [label.font fontwithsize:50];         [view addsubview:label];     }     else     {         label = [[view subviews] lastobject];     } 

saying

'autorelease' unavailable: not available in automatic reference counting mode
arc forbids explicit message send of 'autorelease'
'autorelease' unavailable: not available in automatic reference counting mode
arc forbids explicit message send of 'autorelease'

how can clear error.
update
thank answer have 4 error saying use of undeclared identifier imagearray1. , know happening. don't " assume using app's bundle , have 2 arrays of nsstring refer each image: imagearray1 , imagearray2." below 1 of save code , creating directory 1 of directories. note: have 1 nsmutablearray called allimagesarray have declared in header file.

nsarray *directorynames = [nsarray arraywithobjects:@"apple",nil];     nsarray *paths = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);     nsstring *documentsdirectory = [paths objectatindex:0]; // documents folder      (int = 0; < [directorynames count] ; i++) {         nsstring *datapath = [documentsdirectory stringbyappendingpathcomponent:[directorynames objectatindex:i]];         if (![[nsfilemanager defaultmanager] fileexistsatpath:datapath])             [[nsfilemanager defaultmanager] createdirectoryatpath:datapath withintermediatedirectories:no attributes:nil error:nil]; //create folder          nsstring *folderpath = [documentsdirectory stringbyappendingpathcomponent:@"tops"];            nsdata *imagedata = uiimagepngrepresentation(captureimage.image);         time_t unixtime = (time_t)[[nsdate date]timeintervalsince1970];         nsstring *timestamp = [nsstring stringwithformat:@"%ldtopsimage.png",unixtime];         nsstring *filepath = [folderpath stringbyappendingpathcomponent:timestamp];         [imagedata writetofile:filepath atomically:yes];     } } 

update 4
this?

- (void)viewdidload {     [super viewdidload];      //configure carousel       imagearray1 = [[nsmutablearray alloc] init];     nsarray *paths = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes);     nsstring *documentsdirectory = [paths objectatindex:0];     nsstring *location=@"apple";     nsstring *fpath = [documentsdirectory stringbyappendingpathcomponent:location];      nsarray * directorycontent = [[nsfilemanager defaultmanager] directorycontentsatpath: fpath];     imagearray1 = directorycontent;      imagearray2 = [[nsmutablearray alloc] init];     nsstring *location=@"green";     nsstring *fpath = [documentsdirectory stringbyappendingpathcomponent:location];     nsarray *directorycontent = [[nsfilemanager defaultmanager] directorycontentsatpath: fpath];     imagearray2 = directorycontent; 

this not icarousel issue. using statements release, autorelease in code. remove it. in arc not need memory management manually. why arc there.

update:
according comments, facing problems in displaying images mutiple carousels. assume using 2 icarousel objects. lets name them carousel1 , carousel2. also, seems using sandbox saving images. if case, have fetch images sandbox using nsfilemanager. need keep looking @ how that, code icarousel remain more or less same in case well. here, simplicity case assume using app's bundle , have 2 arrays of nsstring refer each image: imagearray1 , imagearray2.

in viewdidload, set delegate , datasource objects of each carousel self

    carousel1.delegate = self;     carousel1.datasource = self;     carousel2.delegate = self     carousel2.datasource = self; 

implement datasource methods accordingly:

- (nsuinteger)numberofitemsincarousel:(icarousel *)carousel {     //return total number of items in carousel     if (carousel == carousel1)     {         return [imagearray1 count];     }     else     {         return [imagearray2 count];     } }  - (uiview *)carousel:(icarousel *)carousel viewforitematindex:(nsuinteger)index reusingview:(uiview *)view {     uilabel *label = nil;      //create new view if no view available recycling     if (view == nil)     {         view = [[uiimageview alloc] initwithframe:cgrectmake(0, 0, 200.0f, 200.0f)];          uiimage *image;     if (carousel == carousel1)     {          image  = [uiimage imagewithcontentsoffile:[imagearray1 objectatindex:index]];         ((uiimageview *)view).image = image;     }     else     {        image  = [uiimage imagewithcontentsoffile:[imagearray2 objectatindex:index]];         ((uiimageview *)view).image = image;     }     }      return view; } 

Comments

Popular posts from this blog

Unable to remove the www from url on https using .htaccess -