我試圖圍繞單例包圍我的頭,我明白,應用程序委託本質上是一個單身對象。我想在App Delegate中有一些成員變量,我可以從任何其他類訪問。在我這樣做了.M訪問AppDelegate的成員變量
@interface AppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
RootViewController *viewController;
int screenwidth;
}
@property (nonatomic, retain) UIWindow *window;
@property (nonatomic) int screenwidth;
然後:我這樣做是在App代表
- (void) applicationDidFinishLaunching:(UIApplication*)application
{
...
screenwidth=400; //arbitrary test number
現在我已經在項目中的另一個階級,它這樣做的.H:
#import "AppDelegate.h"
在.M我有這樣的話:
test=(AppDelegate*)[[[UIApplication sharedApplication] delegate] screenwidth];
但是,它聲稱「screenwidth」是未找到的實例方法。我也試過這樣:
test=(AppDelegate*)[[UIApplication sharedApplication] delegate].screenwidth;
它使用點語法,因爲screenwidth
合成,但它聲稱property screenwidth not found
我敢肯定,這些都是可以被簡單地校正的基本問題。任何幫助讚賞。
謝謝Tim!欣賞指針。 (沒有雙關語!) – johnbakers
你完全打算雙關語。不要說謊。 – Tim
確實演員陣容不正確,但這不是指定錯誤的原因。 (或者,如果是這樣,編譯器需要一個好頭。) – Caleb