Frage

in meinem Mainviewcontroller Implementierung, muss ich Zugang Variablen aus zwei verschiedenen Klassen. einer der Klassen ist die AppDelegate und die andere ist die FlipsideViewController. die Art, wie ich diese war durch diesen Code zugegriffen:

-(void)someMethod
{
MyApplicationAppDelegate *appDelegate = (MyApplicationAppDelegate *)[[UIApplication sharedApplication] delegate];
FlipsideViewController *viewController = (FlipsideViewController *)[[UIApplication sharedApplication] delegate];

dann habe ich ein Array ich Zugang aus meiner Anwendung delegieren, und einige Instanzvariablen, dass die Rückgabewerte von einer Instanz von UISwitch vom flipsideViewController:

NSMutableArray* array = [[NSMutableArray alloc] initWithArray:(NSMutableArray *)appdelegate.originalArray];
for (id element in array)
{
    if ([[element attribute] isEqualToString:@"someAttribute"] && [viewController.switch1 isOn] == YES)
    {
    //preform function
    }
}

Ich erhalte die Fehlermeldung „- [MyApplicationAppDelegate switch1.]: Unbekannter Selektor an Instanz gesendet app aufgrund nicht abgefangene Ausnahme beendet wird“

War es hilfreich?

Lösung

[[UIApplication shared] Delegierten]; immer die (Singleton) Instanz MyApplicationAppDelegate Klasse zurückgeben und Sie können es zu FlipsideViewController* nicht einfach werfen. den Zugriff auf flipsidecontroller Wert (vorausgesetzt, es in Ihrem AppDelegate gespeichert ist) Sie eine Eigenschaft definieren und nennen es:

-(void)somemethod{
     MyApplicationAppDelegate *appDelegate = (MyApplicationAppDelegate *)[[UIApplication sharedApplication] delegate];
     FlipsideViewController *viewController = appDelegate.flipsideController;
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top