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?

Java Urban Myths

Along the line of C++ Urban Myths and Perl Myths : What are the Java Urban Myths? That is, the ideas and conceptions about Java that are common but have no actual roots in reality . As a Java programmer, what ideas held by your fellow Java programmers have you had to disprove so often that you've come to believe they all learned at the feet of the same drunk old story-teller? Ideally, you would express these myths in a single sentence, and include an explanation of why they are false.