ios - Labels not appearing after clicking cell -


i'm still new programming. i'm doing final project ios dev class , build basic app. i've been trying figure out how complete few days , it's 1 problem after other. pressed time since due tomorrow. app supposed show list of chevy cars , picture next each car name. takes place in table view controller. problem lies when click cell. labels information of car blank. example, have label says "horsepower," , next it, supposed display actual horsepower of car. instead of displaying actual horsepower, displays blank label. there missing? there way can show guys code used? have '1" reputation.

any appreciated.

this tableviewcontroller:

- (uitableviewcell *)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath *)indexpath  {     static nsstring *cellidentifier = @"cartablecell";      uitableviewcell *cell = [tableview dequeuereusablecellwithidentifier:cellidentifier forindexpath:indexpath];        cell.textlabel.text =  [_carmodels objectatindex: indexpath.row];     cell.imageview.image = [uiimage imagenamed:[_carimages objectatindex: indexpath.row]];           return cell; } 

here detailviewcontroller.m

#import "chevy2detailviewcontroller.h"  @interface chevy2detailviewcontroller ()  @end  @implementation chevy2detailviewcontroller  - (id)initwithnibname:(nsstring *)nibnameornil bundle:(nsbundle *)nibbundleornil {     self = [super initwithnibname:nibnameornil bundle:nibbundleornil];     if (self) {         // custom initialization     }     return self; }  - (void)viewdidload {     [super viewdidload];      _modellabel.text = _currentcardetail.carmodel;     _msrplabel.text = _currentcardetail.carmsrp;     _mpglabel.text = _currentcardetail.carmpg;     _airbaglabel.text = _currentcardetail.carairbag;     _volumelabel.text = _currentcardetail.carvolume;     _horsepowerlabel.text = _currentcardetail.carhorsepower;     _bigimage.image = [uiimage imagenamed:_currentcardetail.thumbimagename];  }  - (void)didreceivememorywarning {     [super didreceivememorywarning];     // dispose of resources can recreated. }  @end 

here tableviewcontroller.m file:

// //  chevy2tableviewcontroller.m //  chevy2 // //  created anthony picone on 7/16/13. //  copyright (c) 2013 pico. rights reserved. //  #import "chevy2tableviewcontroller.h" #import "chevy2tableviewcell.h" #import "cardetail.h" #import "chevy2detailviewcontroller.h"  @interface chevy2tableviewcontroller ()  @end  @implementation chevy2tableviewcontroller  - (id)initwithstyle:(uitableviewstyle)style {     self = [super initwithstyle:style];     if (self) {         // custom initialization     }     return self; }  - (void)viewdidload {     [super viewdidload];       _carmodels = @[@"spark",              @"sonic",              @"cruze",              @"volt",              @"malibu",              @"impala",              @"ss",              @"camaro",              @"corvette",              @"equinox",              @"traverse",              @"tahoe",              @"suburban",              @"avalanche",              @"silverado"];  _carimages = @[@"spark.png",                @"sonic.png",                @"cruze.png",                @"volt.png",                @"malibu.png",                @"impala.png",                @"ss.png",                @"camaro.png",                @"corvette.png",                @"equinox.png",                @"traverse.png",                @"tahoe.png",                @"suburban.png",                @"avalanche.png",                @"silverado.png"];    cardetail *sparkcardetail = [cardetail new]; sparkcardetail.carmodel = @"spark"; sparkcardetail.carmsrp = @"$12,170"; sparkcardetail.carmpg = @"38 mpg hwy"; sparkcardetail.carairbag= @"10 airbags"; sparkcardetail.carvolume = @"31.2 cubic feet"; sparkcardetail.carhorsepower = @"84 hp"; sparkcardetail.bigimage = @"big_spark.jpg";   cardetail *soniccardetail = [cardetail new]; soniccardetail.carmodel = @"sonic"; soniccardetail.carmsrp = @"$14,185"; soniccardetail.carmpg = @"40 mpg hwy"; soniccardetail.carairbag= @"10 airbags"; soniccardetail.carvolume = @"14.9 cubic feet"; soniccardetail.carhorsepower = @"138"; soniccardetail.bigimage = @"big_sonic.jpg";  cardetail *cruzecardetail = [cardetail new]; cruzecardetail.carmodel = @"cruze"; cruzecardetail.carmsrp = @"$17,170"; cruzecardetail.carmpg = @"46 mpg hwy"; cruzecardetail.carairbag = @"10 airbags"; cruzecardetail.carvolume = @"15.4 cubic feet"; cruzecardetail.carhorsepower = @"138 hp"; cruzecardetail.bigimage = @"big_cruze.jpg";  cardetail *voltcardetail = [cardetail new]; voltcardetail.carmodel = @"volt"; voltcardetail.carmsrp = @"$39,145"; voltcardetail.carmpg = @"101 mpg cty"; voltcardetail.carairbag = @"8 airbags"; voltcardetail.carvolume = @"n/a"; voltcardetail.carhorsepower = @"149 hp"; voltcardetail.bigimage = @"big_volt.jpg";  cardetail *malibucardetail = [cardetail new]; malibucardetail.carmodel = @"malibu"; malibucardetail.carmsrp = @"$21,995"; malibucardetail.carmpg = @" 37 mpg hwy"; malibucardetail.carairbag = @"10 airbags"; malibucardetail.carvolume = @"13.2 cubic feet"; malibucardetail.carhorsepower = @"259 hp"; malibucardetail.bigimage = @"big_malibu.jpg";  cardetail *impalacardetail = [cardetail new]; impalacardetail.carmodel = @"impala"; impalacardetail.carmsrp = @"$26,725"; impalacardetail.carmpg = @"31 mpg hwy"; impalacardetail.carairbag= @"10 airbags"; impalacardetail.carvolume = @"18.8 cubic feet"; impalacardetail.carhorsepower = @"305 hp"; impalacardetail.bigimage = @"big_impala.jpg";  cardetail *sscardetail = [cardetail new]; sscardetail.carmodel = @"ss"; sscardetail.carmsrp = @"n/a"; sscardetail.carmpg = @"n/a"; sscardetail.carairbag = @"n/a"; sscardetail.carvolume = @"n/a"; sscardetail.carhorsepower = @"415 hp"; sscardetail.bigimage = @"big_ss.jpg";  cardetail *camarocardetail = [cardetail new]; camarocardetail.carmodel = @"camaro"; camarocardetail.carmsrp = @"$23,345"; camarocardetail.carmpg = @"28 mpg hwy"; camarocardetail.carairbag = @"6 airbags"; camarocardetail.carvolume = @"11.3 cubic feet"; camarocardetail.carhorsepower= @"323 hp"; camarocardetail.bigimage = @"big_camaro.jpg";  cardetail *corvettecardetail = [cardetail new]; corvettecardetail.carmodel = @"corvette"; corvettecardetail.carmsrp = @"$49,600"; corvettecardetail.carmpg = @"26 mpg hwy"; corvettecardetail.carairbag = @"4 airbags"; corvettecardetail.carvolume = @"11.0 cubic feet"; corvettecardetail.carhorsepower = @"430 hp"; corvettecardetail.bigimage = @"big_corvette.jpg";  cardetail *equinoxcardetail = [cardetail new]; equinoxcardetail.carmodel = @"equinox"; equinoxcardetail.carmsrp = @"$24,225"; equinoxcardetail.carmpg = @"32 mpg hwy"; equinoxcardetail.carairbag = @"6 airbags"; equinoxcardetail.carvolume = @"63.7 cubic feet"; equinoxcardetail.carhorsepower = @"182 hp"; equinoxcardetail.bigimage = @"big_equinox";  cardetail *traversecardetail = [cardetail new]; traversecardetail.carmodel = @"traverse"; traversecardetail.carmsrp = @"$30,795"; traversecardetail.carmpg = @"24 mpg hwy"; traversecardetail.carairbag = @"6 airbags"; traversecardetail.carvolume = @"116.3 cubic feet"; traversecardetail.carhorsepower = @"281 hp"; traversecardetail.bigimage = @"big_traverse";  cardetail *tahoecardetail = [cardetail new]; tahoecardetail.carmodel = @"tahoe"; tahoecardetail.carmsrp = @"$40,405"; tahoecardetail.carmpg = @"21 mpg hwy"; tahoecardetail.carairbag = @"6 airbags"; tahoecardetail.carvolume = @"108.9 cubic feet"; tahoecardetail.carhorsepower = @"320 hp"; tahoecardetail.bigimage = @"big_tahoe";  cardetail *suburbancardetail = [cardetail new]; suburbancardetail.carmodel = @"suburban"; suburbancardetail.carmsrp = @"$43,870"; suburbancardetail.carmpg = @"21 mpg hwy"; suburbancardetail.carairbag = @"6 airbags"; suburbancardetail.carvolume = @"137.4"; suburbancardetail.carhorsepower= @"320 hp"; suburbancardetail.bigimage = @"big_suburban";  cardetail *avalanchecardetail = [cardetail new]; avalanchecardetail.carmodel = @"avalanche"; avalanchecardetail.carmsrp = @"$35,980"; avalanchecardetail.carmpg = @"21 mpg hwy"; avalanchecardetail.carairbag = @"6 airbags"; avalanchecardetail.carvolume = @"n/a"; avalanchecardetail.carhorsepower = @"320"; avalanchecardetail.bigimage = @"big_avalanche";  cardetail *silveradocardetail = [cardetail new]; silveradocardetail.carmodel = @"silverado"; silveradocardetail.carmsrp = @"$23,590"; silveradocardetail.carmpg = @"23 mpg hwy"; silveradocardetail.carairbag = @"6 airbags"; silveradocardetail.carvolume = @"n/a"; silveradocardetail.carhorsepower = @"195 hp"; silveradocardetail.bigimage = @"big_silverado";   _cardetails = [nsmutablearray new];    [_cardetails addobject:sparkcardetail];  [_cardetails addobject:soniccardetail];  [_cardetails addobject:cruzecardetail];  [_cardetails addobject:voltcardetail];  [_cardetails addobject:malibucardetail];  [_cardetails addobject:impalacardetail];  [_cardetails addobject:sscardetail];  [_cardetails addobject:camarocardetail];  [_cardetails addobject:corvettecardetail];  [_cardetails addobject:equinoxcardetail];  [_cardetails addobject:traversecardetail];  [_cardetails addobject:tahoecardetail];  [_cardetails addobject:suburbancardetail];  [_cardetails addobject:avalanchecardetail];  [_cardetails addobject:silveradocardetail];      }  - (void)didreceivememorywarning {     [super didreceivememorywarning];     // dispose of resources can recreated. }    - (nsinteger)numberofsectionsintableview:(uitableview *)tableview  {     // return number of sections.     return 1; }      - (nsinteger)tableview:(uitableview *)tableview numberofrowsinsection:(nsinteger)section {      // return number of rows in section.     return [_carmodels count]; }   - (uitableviewcell*)tableview:(uitableview *)tableview cellforrowatindexpath:(nsindexpath         *)indexpath     {         static nsstring* kcellidentifier = @"cartablecell";          uitableviewcell *cell = [tableview dequeuereusablecellwithidentifier:kcellidentifier];          if (cell == nil)             cell = [[uitableviewcell alloc] initwithstyle:uitableviewcellstyledefault reuseidentifier:kcellidentifier];          cell.textlabel.text =  [_carmodels objectatindex: indexpath.row];         cell.imageview.image = [uiimage imagenamed:[_carimages objectatindex: indexpath.row]];          return cell;     }  #pragma mark - table view delegate  - (void)tableview:(uitableview *)tableview didselectrowatindexpath:(nsindexpath *)indexpath {     // navigation logic may go here. create , push view controller.     /*      <#detailviewcontroller#> *detailviewcontroller = [[<#detailviewcontroller#> alloc] initwithnibname:@"<#nib name#>" bundle:nil];      // ...      // pass selected object new view controller.      [self.navigationcontroller pushviewcontroller:detailviewcontroller animated:yes];      */ }  -(void) prepareforsegue: (uistoryboardsegue *)segue sender: (id)sender {     if ([[segue identifier] isequaltostring:@"showcardetails"])     {         chevy2detailviewcontroller *detailviewcontroller = [segue destinationviewcontroller];          nsindexpath *myindexpath = [self.tableview indexpathforselectedrow];         int row = [myindexpath row];          detailviewcontroller.cardetailmodel = @[_carmodels[row], _carimages[row]];     } }  @end 

thanks!

so problem lies in prepareforsegue method using. not passing data 1 viewcontroller tn next.

in prepareforseguemethod(), try changing this:

detailviewcontroller.cardetailmodel = @[_carmodels[row], _carimages[row]];

to this:

detailviewcontroller.cardetailmodel = @[_cardetails[row]];

this should pass array selected car tableviewcontroller detailviewcontroller. in detailviewcontroller.h file, create property this

@property (nonatomic, strong) nsarray *cardetailmodel;

and in detailviewcontroller.m put in nslog this:

nslog(@"contents of array being passed on here %@", _cardetailmodel)

and see gives you. if see each of parts of array in log, set labels this, example:

modellabel.text = [_cardetailmodel valueforkey:@"carmodel"];


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -