1
這個問題一直在困擾我一段時間,不知何故,我無法找到我做錯了什麼。我必須說我是Objective-C和Xcode的新手。爲什麼我的應用程序委託中的類變量沒有被實例化?
所以問題是我試圖聲明一個實例變量(NSMutableArray),但由於某種原因,init函數從來沒有達到。該變量始終爲NULL。
所以我有一個名爲PropertyProvider的類,它包含一個名爲「properties」的NSMutableArray。
@interface PropertyProvider : NSObject {
NSMutableArray *properties;
}
@property (nonatomic, retain) NSMutableArray *properties;
..
@end
我然後實例化這個NSMutableArray的這個PropertyProvider類的init方法如下所示:
@implementation PropertyProvider
@synthesize properties;
- (id) init {
self = [super init];
NSLog(@"Instantiating PropertyProvider");
if (self) {
properties = [[NSMutableArray alloc] init];
}
return self;
}
.. more code ..
@end
在我的應用程序代理我嘗試實例化PropertyProvider爲 「PRP」:
@implementation MyAppDelegate
@synthesize prp = _prp;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[[_prp init] alloc];
[self.window makeKeyAndVisible];
return YES;
}
.. more code ..
- (void)dealloc
{
[_prp release];
[super dealloc];
}
但是因此,由於某種原因,它永遠不會到達init我的方法PropertyProvid呃。爲什麼?爲什麼?
感謝您的幫助!
該死,你是如此的正確。愚蠢從我不看它..嘆氣..一定是盯着它太久了!非常感謝! 對不起,愚蠢的問題.. :) – Jules
@Jules:這不是一個愚蠢的問題,如果它幫助你解決你的問題。 – JeremyP