iphone - contentsOfDirectoryAtPath crashes -
i want list files in directory in table view of navigation control. shows files in directory. whenever scroll down, simulator crashes. problem? dirarray defined in .h file nsarray *dirarray.
- (void)viewdidload { [super viewdidload]; nsstring *path = [[nsfilemanager defaultmanager]currentdirectorypath]; nsfilemanager *filemanager = [nsfilemanager defaultmanager]; dirarray = [filemanager contentsofdirectoryatpath:path error:nil]; } - (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection: (nsinteger)section { return [dirarray count]; } - (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath { static nsstring *cellidentifier = @"cell"; uitableviewcell *cell = [tableview dequeuereusablecellwithidentifier:cellidentifier]; if (cell == nil) { cell = [[[uitableviewcell alloc]initwithstyle:uitableviewcellstyledefault reuseidentifier:cellidentifier] autorelease]; } nsstring *filename = [dirarray objectatindex:indexpath.row]; cell.textlabel.text = filename; return cell; }
your problem that
dirarray = [filemanager contentsofdirectoryatpath:path error:nil]; will have dirarray pointing autoreleased object. time accessing later, being deallocated. either retain it.
dirarray = [[filemanager contentsofdirectoryatpath:path error:nil] retain]; or better, declare property , do
self.dirarray = [filemanager contentsofdirectoryatpath:path error:nil];
Comments
Post a Comment