Note that there are some explanatory texts on larger screens.

plurals
  1. POtypical UITableView unrecognized selector sent to instance
    text
    copied!<p>I'm having this "tableView:cellForRowAtIndexPath:]: unrecognized selector sent to instance" error, I'm almost sure is some kind of memory management issue but right now I'm pretty much tired of having to find the bug. The TableView displays the cells well as long as you don't scroll down, if you do.. app crashes. The only property I use is called "places", I've already checked if I didn't miss a "self.".</p> <p>so.. here's my code:</p> <pre><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 </code></pre> <p>Thank You very much for your help and I'm really sorry for making you all guys do a bit of work for me.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload