Мне кажется, что вы не хотите глобальную переменную, а вместо этого переменную экземпляра.В этом случае ваше объявление:
@interface MainViewController : UIViewController <FlipsideViewControllerDelegate> {
NSMutableArray *sizedWordList;
}
в заголовочном файле является правильным.Однако в файле реализации вы не можете сделать следующее вне метода экземпляра (или, если это действительно глобальная переменная, вне метода класса или функции):
sizedWordList = [[NSMutableArray alloc] init];
Это не разрешено в Objective-C.Правильным местом для инициализации переменных экземпляра является метод -init
.Поскольку ваш класс является подклассом UIViewController
, вы должны переопределить его назначенный инициализатор, -initWithNibName:bundle:
:
- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle {
self = [super initWithNibName:nibName bundle:nibBundle];
if (self) {
sizedWordList = [[NSMutableArray alloc] init];
}
return self;
}
Ваш -dealloc
метод почти правильный - помните, что вы должны всегда send [super dealloc]
в конце вашего -dealloc
метода:
- (void)dealloc
{
[sizedWordList release];
[super dealloc];
}
Сделав это, вы можете использовать массив в любом другом методе экземпляра.Например,
- (void)logWordList {
NSLog(@"%@", sizedWordList);
}