2012-03-25 17 views
0

Ich habe eine benutzerdefinierte uitableviewcell in einer separaten Klasse erstellt und verwenden Sie es in einem Viewcontroller in einem uitableview. Jetzt möchte ich den Benutzer auf eine andere Seite durch Klicken auf eine Schaltfläche in meiner benutzerdefinierten uitableviewcell navigieren. Kann mir bitte jemand helfen?Navigation in benutzerdefinierten uitableviewcell

Im Anschluss an mein Code der Aktion auf die Schaltfläche klicken in UITableViewCell:

-(IBAction)followUser:(id)sender { 
    NSLog(@"memberid %d",self.memberid); 
    profileViewController *profile = [[profileViewController alloc] init]; 
    [((UIViewController*) sender).navigationController pushViewController:profile animated:FALSE]; 

} 

Aber es stürzt ab.

Antwort

0

[ProfilViewController Alloc] ist falsch. Sie möchten, dass die tatsächliche Klasse des Objekts zugewiesen wird, nicht die Instanzvariable.

1

Der Absenderparameter Ihrer Aktionsmethode 'followUser:' bezieht sich auf das Steuerelement, das die Methode aufgerufen hat. Dies ist wahrscheinlich ein UIButton. Und offensichtlich hat eine UIButton keine Eigenschaft 'navigationController'. Wenn sich Ihr Code in einer UIViewController-Unterklasse befindet, die sich im Navigationsstapel befindet, hat diese Unterklasse die Eigenschaft 'navigationController', über die Sie auf den UINavigationController zugreifen können. Versuchen Sie folgendes:

-(IBAction)followUser:(id)sender { 
NSLog(@"memberid %d",self.memberid); 
profileViewController *profile = [[profileViewController alloc] init]; 
[self.navigationController pushViewController:profile animated:FALSE]; 
[profile release]; 
} 

@CodaFi Nichts falsch mit 'profileViewController alloc', wenn das der Name seiner UIViewController Unterklasse ist.

+0

Absender ist eigentlich der View-Controller, auf dem ich das Tableview hinzugefügt habe. Die Tabellenansicht hat benutzerdefinierte Tabellenansichtszellen und diese Zellen haben diese Schaltfläche, auf deren Aktion mein Code aufgerufen wird. Daher wird Ihre Antwort nicht gültig sein, da die UIButton nicht auf dem UIViewcontroller vorhanden ist, sondern auf UITableviewCell. – pankaj

Verwandte Themen