2011-01-08 3 views
1

Ich versuche, drei verschiedene Bilder aus einem Array in entsprechende Zellen in einem UITable zu laden. Bis jetzt habe ich den folgenden Code, der feine Abstürze erstellt, wenn t ausgeführt wird. Ich fanyone kann mir helfen, ich wäre sehr dankbar.Load Distinct Bilder aus Array in UITabeView

- (void)viewDidLoad { 
NSArray *array = [[NSArray alloc] initWithObjects:@"Icon Nightclub", @"Smyhts Bar", 
     @"Synotts",nil]; 
self.listData = array; 


NSArray *picArray = [[NSArray alloc] initWithObjects:@"ArrowLeftDefault.png", @"ArrowRightDefault.png", 
     @"events.png",nil]; 
self.picData = picArray; 


[array release]; 
[picArray release]; 
[super viewDidLoad]; 

} 


-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
return [listData count]; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier"; 
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:SimpleTableIdentifier]; 

if (cell == nil) { 
    cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:SimpleTableIdentifier] autorelease]; 
} 

NSUInteger row = [indexPath row]; 
cell.textColor = [UIColor grayColor]; 
cell.textLabel.text = [listData objectAtIndex:row]; 
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; 

cell.imageView.image = [picData objectAtIndex:indexPath.row]; 

return cell; 

} 

Antwort

4

Änderung:

cell.imageView.image = [picData objectAtIndex:indexPath.row]; 

für so etwas wie folgt aus:

cell.imageView.image = [UIImage imageNamed:[picData objectAtIndex:indexPath.row]]; 

Erläuterung: Seit picData NSArrayNSString s enthält, können Sie ein NSString Objekt cell.imageView.image wurden vorbei, wenn es erwartet ein UIImage Objekt ac tally. Deshalb erstellt es jetzt ein Bild und übergibt es. (imageNamed: Methode kassiert das Bild)

+0

Sie sind ein schneller Typer als ich bin. :) Ja, das ist die Antwort. Der Code stürzt ab, weil das Array picData ein Array von Strings enthält, nicht UIImagices – Walter

+0

Ah brilliant. Prost. Ich hätte das sehen sollen. Ich bin nicht zu lange dabei. Du hast meinen Speck gerettet. – krosullivan

+0

Danke Walter, ich habe gerade eine Erklärung hinzugefügt;) – nacho4d