typische UITableView unrecognized selector geschickt Instanz

Ich diese "tableView:cellForRowAtIndexPath:]: unrecognized selector geschickt Instanz" Fehler, ich bin mir fast sicher, dass irgendeine Art von Speicher-management-Problem, aber bis jetzt bin ich ziemlich müde, haben den bug finden.
Der TableView zeigt die Zellen gut, solange man nicht nach unten scrollen, wenn Sie das tun..
app stürzt.
Die einzige Eigenschaft, die ich benutze nennt sich "Orte", hab ich schon überprüft, wenn ich es nicht verpassen, ein "selbst"..

so.. hier ist mein code:

#import "PlacesViewController.h"
#import "FlickrFetcher.h"
#import "SinglePlaceViewController.h"

@implementation PlacesViewController

@synthesize places;

- (NSArray *)places
{
    if (!places) {
        NSSortDescriptor *content = [[NSSortDescriptor alloc] initWithKey:@"_content" ascending:YES];
        NSArray *unsortedPlaces = [FlickrFetcher topPlaces];    
        places = [unsortedPlaces sortedArrayUsingDescriptors:[NSArray arrayWithObjects: content, nil]];
    }
    return places;
}

#pragma mark -
#pragma mark Initialization

#pragma mark -
#pragma mark View lifecycle


- (void)viewDidLoad {
    [super viewDidLoad];
    self.title = @"Top Places";
    //Uncomment the following line to display an Edit button in the navigation bar for this view controller.
    //self.navigationItem.rightBarButtonItem = self.editButtonItem;
}


//Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    //Return YES for supported orientations.
    return YES;
}


#pragma mark -
#pragma mark Table view data source

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    //Return the number of sections.
    return 1;
}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    //Return the number of rows in the section.
    return self.places.count;
}

- (NSDictionary *)placeAtIndexPath:(NSIndexPath *)indexPath
{
    return [self.places objectAtIndex:indexPath.row];
}

//Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"PlacesTableViewCell";
    NSLog(@"%@", [FlickrFetcher topPlaces]);
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
    }

    //Configure the cell...
    NSString *location = [[self placeAtIndexPath:indexPath] objectForKey:@"_content"];
    NSArray *splitLocation = [location componentsSeparatedByString:@", "];
    cell.textLabel.text = [splitLocation objectAtIndex:0];
    if (splitLocation.count == 2)
        cell.detailTextLabel.text = [splitLocation objectAtIndex:1];
    if (splitLocation.count == 3)
        cell.detailTextLabel.text = [[[splitLocation objectAtIndex:1] stringByAppendingString:@","] stringByAppendingString:[splitLocation objectAtIndex:2]];

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    return cell;
}


#pragma mark -
#pragma mark Table view delegate

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    //Navigation logic may go here. Create and push another view controller.

    SinglePlaceViewController *spvc = [[SinglePlaceViewController alloc] init];
    //Pass the selected object to the new view controller.
    spvc.placeId = [[self placeAtIndexPath:indexPath] objectForKey:@"place_id"];
    [self.navigationController pushViewController:spvc animated:YES];
    [spvc release];

}


#pragma mark -
#pragma mark Memory management

- (void)didReceiveMemoryWarning {
    //Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    //Relinquish ownership any cached data, images, etc. that aren't in use.
}

- (void)viewDidUnload {
    //Relinquish ownership of anything that can be recreated in viewDidLoad or on demand.
    //For example: self.myOutlet = nil;
}


- (void)dealloc {
    [places release];
    [super dealloc];
}


@end

Danke Ihnen sehr für Ihre Hilfe und ich bin wirklich Leid für Sie alle Jungs tun, ein wenig Arbeit für mich.

  • Kann man das ganze // Configure the cell... Teil und Blättern? Ich weiß, dies zeigen nicht den text, sondern macht es crash? Poste bitte den stacktrace und die komplette Ausgabe der Konsole.
  • Welche Klasse hast PlacesViewController Erben? Sie überprüfen sollten, delegieren Sie Ihre tableview
  • Haben Sie versucht, die Einstellung eine Ausnahme Haltepunkt in Ihrem Projekt? Wo ist die Nachricht geschickt? Wer ist der Empfänger?
InformationsquelleAutor pchang | 2011-05-05
Schreibe einen Kommentar