Skip to main content

Can"t show text in the UITableView



I have a view-based app that just does one thing : show a array in a TableView, but it doesn't work and I don't know why. Here's the code.







.h



@interface ViewController : UIViewController <UITableViewDelegate, UITableViewDataSource>{

NSArray *array;

IBOutlet UITableView *table;

}



.m



-(void)viewDidLoad{

[super viewDidLoad];

array = [array initWithObjects:@"iPad", @"iTV", nil];



}



- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{

return 1;

}



- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

return [array 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];

}



cell.textLabel.text = [array objectAtIndex:indexPath.row];



return cell;

}







Any ideas why the TableView doesn't show the text? Thank you people!


Comments

  1. array = [array initWithObjects:@"iPad", @"iTV", nil];


    Should be

    array = [NSArray initWithObjects:@"iPad", @"iTV", nil];


    also make sure you call arrayInit as barley mentioned

    edit:
    Vince is right in pointing out it should either be

    [[NSArray alloc] initWithObjects:@"iPad", @"iTV", nil];


    or

    [NSArray arrayWithObjects:@"iPad",@"iTV",nil];


    depending on if you want to retain or have it auto released

    ReplyDelete
  2. Ill assume you are running under ARC

    NSIndexPath doesn't have a "row" property try

    NSInteger row = [indexPath indexAtPosition:1];
    cell.textLabel.text = [array objectAtIndex:row];

    ReplyDelete

Post a Comment

Popular posts from this blog

Slow Android emulator

I have a 2.67 GHz Celeron processor, 1.21 GB of RAM on a x86 Windows XP Professional machine. My understanding is that the Android emulator should start fairly quickly on such a machine, but for me it does not. I have followed all instructions in setting up the IDE, SDKs, JDKs and such and have had some success in staring the emulator quickly but is very particulary. How can I, if possible, fix this problem?