Cocoa-Touch – Delegieren Verwirrung
Ich habe gerade angefangen, ein neues Projekt unter Xcode 4.2.1 und iOS5 SDK. Das Projekt-setup mit ARC. Ich bin versucht, in der AppDelegate werden die Delegierten für das UITabBarController-by-doing - [tabBarController setDelegate:self];
wenn ich das Tue, bekomme ich eine Warnmeldung, die sagen:
warning: Semantic Issue: Sending 'AppDelegate *const __strong' to parameter of incompatible type 'id<UITabBarControllerDelegate>'
Okay, fair genug, ich meine AppDelegate zu entsprechen, die UITabBarControllerDelegate by doing
@interface AppDelegate : UIResponder <UIApplicationDelegate, UITabBarControllerDelegate>
Toll, die Warnung geht Weg.
Bekomme ich jetzt eine andere Fehlermeldung. In einem view controller will ich endlich ein halten der AppDelegate so mache ich das: AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
aber das Rendern wird eine Warnung sagen:
warning: Semantic Issue: Initializing 'AppDelegate *__strong' with an expression of incompatible type 'id<UIApplicationDelegate>'
Aber wenn ich zu entfernen, dass meine AppDelegate entspricht der UITabControllerDelegate Protokoll meine zweite Warnung verschwindet.
Sehr seltsames Verhalten, was gibt Kakao-Experten?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie eine Typumwandlung vor dem zuweisen der AppDelegate variable.
Und halten Sie die
UITabControllerDelegate
.