繼承人我用,看我的錯誤代碼後iPhone,我們如何做一個App Delegate變量,這樣它可以像全局變量一樣使用?
@interface MyAppDelegate : NSObject {
NSString *userName;
}
@property (nonatomic, retain) NSString *userName;
...
@end
,併爲App委託.m文件你可以這樣寫:
@implementation MyAppDelegate
@synthesize userName;
...
@end
然後,每當你想獲取或寫用戶名,你可以這樣寫:
MyAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
someClass.someString = appDelegate.userName; //..to fetch
appDelegate.userName = ..some NSString..; //..to write
警告:類型 'ID' 不符合 'MyAppDelegate' 協議
我在代碼中丟失了什麼?
添加的代碼片斷 – 2010-09-30 17:56:10
這就是答案 - 投放到您的應用程序類型的代表,你拉從UIApplication的參考。也就是說,如果你有很多這樣的數據字段,你應該考慮把它們放在一個數據管理器單例中。將所有數據保存爲應用程序委託的屬性並不是一個好方法。 – 2010-09-30 17:57:25
丹,我同意,這不是對這些類型的託管AppDelegate的最佳做法。 – 2010-09-30 18:02:39