Frage

Ich bin derzeit einen UIAlertView beim Start in meiner app mit dem UIAlertViewDelegate verwenden. Das alles funktioniert gut. Das einzige Problem ist, dass ich die Warnung „Typ‚id‘entspricht nicht dem‚UIAlertViewDelegate‘Protokoll“ erhalte ich jedes Mal die App Delegate verweisen, mich etwa 32 Warnungen zu geben.

Kann jemand etwas Licht auf, warum ich diese Warnung bin immer und wie kann ich es erfüllen?

Vielen Dank im Voraus!

War es hilfreich?

Lösung

ich AppDelegate Annahme, daß Ihre Warnung Ansicht delegieren?

Wenn ja, müssen Sie den Compiler sagen, dass in der Erklärung des AppDelegate. Wie so:

@interface SomeAppDelegate : NSObject <UIApplicationDelegate, UIAlertViewDelegate> {

}

// ... rest of interface

@end

Und dann müssen Sie auch die erforderlichen Methoden implementieren.

EDIT: Denken darüber weiter, ich denke, wahrscheinlich Ihnen fehlt eine Besetzung, wenn Sie die App Delegat verweisen. So können Sie etwas davon haben:

MyAppDelegate* appDelegate = [[UIApplication sharedApplication] delegate];

// what you want is:

MyAppDelegate* appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];

Andere Tipps

Es ist vielleicht nicht auf dem Haupt-Thread vorhanden ist, versucht

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"My Title"
                                                    message:@"My message"
                                                   delegate:self cancelButtonTitle:@"OK"
                                          otherButtonTitles:nil];
[alertView performSelectorOnMainThread:@selector(show) withObject:nil waitUntilDone:NO];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top