Источник данных для моего представления таблицы - это простой NSMutableArray, который будет заполняться при запуске приложения, но будет пустым, когда сначала загрузится Table View. Интерфейс класса выглядит следующим образом ...Как инициализировать массив, являющийся членом UITableViewController?
@interface ViewController_iPhone : UITableViewController {
NSMutableArray *serverList;
}
@property (retain, readonly) NSMutableArray *serverList;
@end
Мои вопросы ...
В настоящее время я инициализировать его в методе viewDidLoad как так ...
SERVERLIST = [ [NSMutableArray alloc] initWithCapacity: 1];
Я делаю это так, потому что массив должен быть действительным для моего метода
numberOfRowsInSection
, чтобы избежать сбоя при чтенииcount
массива (который будет равен нулю) при первом просмотре представления. Мой текущий подход к использованиюinitWithCapacity
просто чувствует себя немного неуклюжим, так как мне просто нужен пустой, но действительный объект массива, который вернет значение отсчета, равное нулю при загрузке представления. Как я могу инициализировать массивserverList
?Во время игры вокруг, я заметил, что когда я пытаюсь инициализировать
serverList
массиву этот путь ...SERVERLIST = [NSMutableArray arrayWithCapacity: 1];
он падает на этой линии. Зачем?
Заранее благодарим за вашу помощь!
спасибо, alex! когда я использую 'serverList = [[NSMutableArray alloc] init];' кажется, отлично работает. почему вы говорите, что использование «severList» вместо «self.serverList» не будет работать? – BeachRunnerFred
Изучите значение 'serverList' вне метода, в котором вы устанавливаете' serverList = [[NSMutableArray alloc] init] '. 'NSLog' на нем в отдельном методе. –
Поскольку вы« сохраняете »свой массив, также убедитесь, что вы' autorelease' 'init'-ed array, или у вас будет утечка памяти. –