iphone - How to load data in tableView -
hi have following code trying add uitableview on uialertview have subclassed uialertview in uialerttableview.
#import "uialerttableview.h" #define ktablepadding 8.0f @interface uialertview (private) - (void)layoutanimated:(bool)fp8; @end @implementation uialerttableview @synthesize datasource; @synthesize tabledelegate; @synthesize tableheight; @synthesize tableview; - (void)layoutanimated:(bool)fp8 { [super layoutanimated:fp8]; [self setframe:cgrectmake(self.frame.origin.x, self.frame.origin.y - tableextheight/2, self.frame.size.width, self.frame.size.height + tableextheight)]; // lowest non-control view (i.e. labels) can place table view below uiview *lowestview; int = 0; while (![[self.subviews objectatindex:i] iskindofclass:[uicontrol class]]) { lowestview = [self.subviews objectatindex:i]; i++; } cgfloat tablewidth = 262.0f; tableview.frame = cgrectmake(11.0f, lowestview.frame.origin.y + lowestview.frame.size.height + 2 * ktablepadding, tablewidth, tableheight); (uiview *sv in self.subviews) { // move controls down if ([sv iskindofclass:[uicontrol class]]) { sv.frame = cgrectmake(sv.frame.origin.x, sv.frame.origin.y + tableextheight, sv.frame.size.width, sv.frame.size.height); } } } - (void)show{ [self prepare]; [self.tableview reloaddata]; [super show]; } - (void)prepare { if (tableheight == 0) { tableheight = 150.0f; } tableextheight = tableheight + 2 * ktablepadding; tableview = [[uitableview alloc] initwithframe:cgrectmake(0.0f, 0.0f, 0.0f, 0.0f) style:uitableviewstylegrouped]; tableview.delegate = tabledelegate; tableview.datasource = datasource; [self insertsubview:tableview atindex:0]; [self setneedslayout]; } - (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath { return nil; } - (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section{ return 10; } - (void)tableview:(uitableview *)atableview didselectrowatindexpath:(nsindexpath *)indexpath { } - (void)dealloc { [tableview release]; [super dealloc]; } @end want load tableview data calling reloaddata in 'show' method not calling delegate methods written in class. also, showing code of other class showing alert. - (void) showesign{ //irpsaverepairresponsedo *saverepairdo = [[[[irpsessioncache sharedinstance] currentsessionobject] datamodel] saverepairdetails]; irpdatamodel *datamodel = [[[irpsessioncache sharedinstance] currentsessionobject] datamodel]; irpproductdetailsdo *proddo = [datamodel productdetailsdo]; //irmlegaldocumentdo *legaldocdo = [datamodel legaldocdo]; nsmutablearray *printlanguagearray = [proddo languageoptionsdisplayarray]; if ([printlanguagearray count] == 1) { dlog(@"proddo.defaultlanguagedescription: %@", proddo.defaultlanguage); [proddo setuserselectedlanguageforesign:proddo.defaultlanguage]; uialerttableview *alert = [[uialerttableview alloc] initwithtitle:@"select language" message:@"concierge" delegate:self cancelbuttontitle:kcancel otherbuttontitles:knext, nil]; alert.tabledelegate = self; alert.datasource = self; alert.tableheight = 120; [alert.tableview reloaddata]; [alert show]; } }
i want load tableview 1 array.
this makes brain hurt.
i'm not sure initilizining table view. perhaps outside of uialertview subclass. guess delegat/datasource not set propetly. may want add this:
-(void) settableview:(uitableview *)newtableview { [tableview release]; tableview = [newtableview retain]; tableview.delegate = self; tableview.datasource = self; }
but, again, i'm drunk i'm sorry if i'm not understanding.
Comments
Post a Comment