Эта проблема беспокоила меня уже некоторое время, и я почему-то не могу понять, что я делаю неправильно.Я должен сказать, что я новичок в Objective-C и XCode.
Так что проблема в том, что я пытаюсь объявить переменную экземпляра (NSMutableArray), но по какой-то причине функция init НИКОГДА не достигается.Переменная всегда NULL.
Итак, у меня есть класс с именем PropertyProvider, который содержит NSMutableArray с именем «properties».
@interface PropertyProvider : NSObject {
NSMutableArray *properties;
}
@property (nonatomic, retain) NSMutableArray *properties;
..
@end
Затем я создаю экземпляр этого NSMutableArray в методе init этого класса PropertyProvider следующим образом:
@implementation PropertyProvider
@synthesize properties;
- (id) init {
self = [super init];
NSLog(@"Instantiating PropertyProvider");
if (self) {
properties = [[NSMutableArray alloc] init];
}
return self;
}
.. more code ..
@end
В моем делегате Application я пытаюсь создать экземпляр 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 мой PropertyProvider .Почему, почему ?!
Спасибо за помощь!