2011-06-28 2 views
1

この問題は今私を悩ませています。何とか私が間違っていることを見つけることができません。私はObjective-CとXcodeが初めてだと言わざるを得ない。アプリケーション代理人のクラス変数がインスタンス化されないのはなぜですか?

私はインスタンス変数(NSMutableArray)を宣言しようとしていますが、何らかの理由でinit関数に到達していないという問題があります。変数は常にNULLです。

私は "プロパティ"という名前のNSMutableArrayを含むPropertyProviderという名前のクラスを持っています。

@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]; 
} 
:私は "PRP" としてPropertyProviderをインスタンス化しようとする私のアプリケーションデリゲートで

@implementation PropertyProvider 

@synthesize properties; 

- (id) init { 
    self = [super init]; 

    NSLog(@"Instantiating PropertyProvider"); 

    if (self) { 
     properties = [[NSMutableArray alloc] init]; 
    } 

    return self; 
} 

.. more code .. 

@end 

@interface PropertyProvider : NSObject { 
    NSMutableArray *properties; 
} 

@property (nonatomic, retain) NSMutableArray *properties; 

.. 

@end 

私は、次のように、このPropertyProviderクラスのinitメソッドでは、このNSMutableArrayのをインスタンス化

しかし、何らかの理由で私の方法PropertyProvidに達することはありませんer。なぜ、なぜ?

ありがとうございました!

PropertyProviderのインスタンスとして _prpを初期化する正しい方法は次のようになり

答えて

1

_prp = [[PropertyProvider alloc] init]; 

_prpはインスタンス変数であるので、それはデフォルトでnilであるため、それまでのメッセージがある何もしませんなぜあなたは何の誤りもないのです。

+0

ちょっと、そうです。愚かな私からそれを見ないために..一口..それはあまりにもそれを見ている必要があります!どうもありがとう! そして、愚かな質問を申し訳ありません。:) – Jules

+0

@ジュール:あなたの問題を解決する助けがあれば、それは愚かな質問ではありません。 – JeremyP

関連する問題