Привет, я новичок в Objective-C 2.0 и Xcode, так что прости меня, если я упустил что-то элементарное здесь.В любом случае, я пытаюсь создать свой собственный класс UIViewController под названием GameView для отображения нового представления.Для работы игры мне нужно отслеживать NSArray, который я хочу загрузить из файла plist.Я сделал метод loadGame, который я хочу загрузить правильный NSArray в переменную экземпляра.Однако, похоже, что после выполнения метода переменная экземпляра теряет дорожку массива.Проще, если я просто покажу вам код ....
@interface GameView : UIViewController {
IBOutlet UIView *view
IBOutlet UILabel *label;
NSArray *currentGame;
}
-(IBOutlet)next;
-(void)loadDefault;
...
@implementation GameView
- (IBOutlet)next{
int numElements = [currentGame count];
int r = rand() % numElements;
NSString *myString = [currentGame objectAtIndex:(NSUInteger)r];
[label setText: myString];
}
- (void)loadDefault {
NSDictionary *games;
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"Games.plist"];
games = [NSDictionary dictionaryWithContentsOfFile:finalPath];
currentGame = [games objectForKey:@"Default"];
}
, когда вызывается loadDefault, все работает отлично, но когда я пытаюсь использовать currentGame NSArray позже при вызове метода next, появляется currentGameбыть ноль.Я также знаю о проблемах управления памятью с этим кодом.Любая помощь будет оценена с этой проблемой.