2010-12-22 7 views
0

I XML-Parsing bin, und immer diese Fehlermeldung:Was bedeutet der Fehler "unerkannter Selektor an Instanz gesendet"?

[NSCFString event_Title]: unrecognized selector sent to instance 0x6b0c130 2010-12-22 19:48:38.719 TestDemo[2234:207] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString event_Title]: unrecognized selector sent to instance 0x6b0c130' * Call stack at first throw:

Hier ist mein Code:

#import "RootViewController.h" 
#import "TestDemoAppDelegate.h" 
#import "Events.h" 
#import "DetailedViewController.h" 
@implementation RootViewController 

#pragma mark - 
#pragma mark View lifecycle 


- (void)viewDidLoad { 
    [super viewDidLoad]; 
    [email protected]"Cities Name"; 
    appDelegate=(TestDemoAppDelegate *)[[UIApplication sharedApplication]delegate]; 

    // Uncomment the following line to display an Edit button in the navigation bar for this view controller. 
    // self.navigationItem.rightBarButtonItem = self.editButtonItem; 
} 


/* 
- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
} 
*/ 
/* 
- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 
} 
*/ 
/* 
- (void)viewWillDisappear:(BOOL)animated { 
    [super viewWillDisappear:animated]; 
} 
*/ 
/* 
- (void)viewDidDisappear:(BOOL)animated { 
    [super viewDidDisappear:animated]; 
} 
*/ 

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


#pragma mark - 
#pragma mark Table view data source 

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


// Customize the number of rows in the table view. 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
    return [appDelegate.listArray count]; 
} 

// Customize the appearance of table view cells. 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease]; 
    } 

    Events *event=[[Events alloc] init]; 
    event=[appDelegate.listArray objectAtIndex:indexPath.row]; 
    NSLog(@"event [email protected]",event.event_Title); 
// cell.textLabel.text=event.event_Title; 

    return cell; 

} 


/* 
// Override to support conditional editing of the table view. 
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { 
    // Return NO if you do not want the specified item to be editable. 
    return YES; 
} 
*/ 


/* 
// Override to support editing the table view. 
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { 

    if (editingStyle == UITableViewCellEditingStyleDelete) { 
     // Delete the row from the data source. 
     [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade]; 
    } 
    else if (editingStyle == UITableViewCellEditingStyleInsert) { 
     // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view. 
    } 
} 
*/ 


/* 
// Override to support rearranging the table view. 
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { 
} 
*/ 


/* 
// Override to support conditional rearranging of the table view. 
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { 
    // Return NO if you do not want the item to be re-orderable. 
    return YES; 
} 
*/ 


#pragma mark - 
#pragma mark Table view delegate 

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

    if (indexPath.row) { 


    DetailedViewController *detailViewController = [[DetailedViewController alloc] initWithNibName:@"DetailedViewController" bundle:nil]; 
    // ... 
    // Pass the selected object to the new view controller. 
    [self.navigationController pushViewController:detailViewController animated:YES]; 
    [detailViewController 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 { 

    [super dealloc]; 
} 

ich cell.textLabel.text=[appDelegate.listArray objectAtIndex:IndexPath.row]; versuche. Alle Daten in meinem Array werden in meiner Tabellenansicht angezeigt.

Wenn ich mit Klassenreferenz versuche, kann ich nur Event_title nur in meiner Tabellenansicht anzeigen. Es stürzt meine Anwendung ab.

Event *aEvent=[appDelegate.listArray objectAtIndex:IndexPath.row]; 
cell.textLabel.text=aEvent.Event_title; 

Wenn ich dies meine Anwendung bekomme Crash.

+0

NSLog (@ "Ereignis abajdfkjioteh @", event.event_Title) gesetzt; ist es nicht NSLog (@ "event abajfkjioteh% @", event.event_Title); – Veeru

Antwort

2

Es sieht aus wie Sie versehentlich Ereignis zu einem NSString auf dieser Linie

Events *event=[[Events alloc] init]; 
event=[appDelegate.listArray objectAtIndex:indexPath.row]; 

Versuchen Sie, diese

Events *event=[[Events alloc] init]; 
event.event_Title=[appDelegate.listArray objectAtIndex:indexPath.row]; 
+0

@ thanks for replay joe .... ITs Gesamtdaten anzeigen ... ich muss nur event_Title anzeigen; ////// ich versuche das und setze auf meine Zelle ... cell.textLabel.text = event.event_Title ; –

+0

Das klingt nach einem logischen Problem. Die *** Terminierungs-App aufgrund der nicht abgefangenen Ausnahme 'NSInvalidArgumentException', Grund: '- [NSCFString event_Title]: unerkannter Selektor, der an die Instanz 0x6b0c130 gesendet wurde' *** sollte nun behoben werden, da Sie sie nicht mehr versehentlich auf einen NSString setzen Zuordnen. – Joe

Verwandte Themen