У меня есть приложение, которое имеет два отдельных вида с двумя отдельными (и отдельно заполненными) NSArrays
. В array1 у меня есть 10 @ "ABC" объектов, а в array2 у меня есть 18 @ "ABC" объектов. view1 с массивом 1 отлично загружается; однако, просмотр2 сбой. Я изменил количество элементов @ "ABC" в массиве2 как своего рода пробный и ошибочный способ для отладки и обнаружения, что у меня могут быть только 15 @ "ABC" объектов. Как только я добавлю шестнадцатую @ «ABC», приложение вылетает, говоря что-то около viewDidLoad
. Кто-нибудь знает, как обойти это или что я делаю, что приведет к сбою приложения?NSArray вызывает сбои в представленииDidLoad
- (void)viewDidLoad {
array2 = [[NSArray alloc] initWithObjects:@"ABC1", @"ABC2", @"ABC3", @"ABC4", @"ABC5", @"ABC6", @"ABC7", @"ABC8", @"ABC9", @"ABC10", @"ABC11", @"ABC12", @"ABC13", @"ABC14", @"ABC15", ABC16", @"ABC17",@"ABC18",nil];
[super viewDidLoad];
}
(#pragma mark Table view methods)
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [array2 count];
}
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
// Set up the cell...
cell.textLabel.text = [array2 objectAtIndex:indexPath.row];
cell.textLabel.textColor = [UIColor redColor];
return cell;
}
Как я уже сказал, array2 отлично работает с 15 или меньшим количеством объектов, но как только я добавить номер 16 или больше, он выходит из строя.
_once добавить шестнадцатый @ "ABC", приложение аварии ** говорит что-то о viewDidLoad ** ._ Просьба предоставить больше информации. «Что-то», очень расплывчато и не помогает сузить вопрос. Предпочтительным является сообщение фактического сообщения об ошибке. – aqua
Sooo ... Я переключил его на NSMutableArray следующим образом: viewDidLoad { array2 = [[NSMutableArray alloc] init]; [ситуация addObject: @ "ABC1"]; [ситуация addObject: @ "ABC2"]; [ситуация addObject: @ "ABC3"]; ---- [ситуация addObject: @ "ABC18"]; } и сделал следующее изменение (UITableViewCell *) Tableview: (UITableView *) Tableview cellForRowAtIndexPath: (NSIndexPath *) indexPath: NSString * CellValue = [массив2 objectAtIndex: indexPath.row]; \t cell.textLabel.text = cellValue; Результат? Работает как шарм !! – Jon
@Jon, добавьте это как ответ и примите его, как только сможете. –