Я столкнулся со странной проблемой здесь.Я разрабатываю приложение для iOS (в частности, для iPad) и в какой-то момент использую UITableView для отображения списка вещей.
Теперь, когда я прокручиваю границы экрана (невыше первого элемента, а не ниже последнего) все работает нормально.Тем не менее, он просто сильно падает, когда я прокручиваю дальше, без других сообщений, кроме:
- EXC_BAD_ACCESS , когда я прокручиваю вниз до последнего элемента
- SIGABRT с обратным ходом, когда я прокручиваю выше, чем первый
Я посмотрел в Google, и кажется, что я выпускаю некоторые объекты слишком много, но я не могу понять,какие.
Я также пытался запустить приложение внутри Инструментов, но окно Инструментов просто зависает при каждом запуске приложения, заставляя меня убить его вручную ... И, конечно, я не получил результатов...
Вот немного кода:
/*
Returns the cells of the table view
*/
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
// Create a new cell view
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell...
cell.textLabel.text = [newestModules objectAtIndex:indexPath.row];
cell.textLabel.textColor = [UIColor whiteColor];
cell.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"Background-Texture-Dark-Small.png"]];
cell.imageView.image = [UIImage imageNamed:@"Icon-Maths.png"];
UIView *v = [[[UIView alloc] initWithFrame:cell.frame] autorelease];
// Set view background color
v.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background-Texture-Dark-Small.png"]];
// This view will be activated when the cell is selected
cell.selectedBackgroundView = v;
return cell;
}
РЕДАКТИРОВАТЬ: UITableView Методы загрузки и выгрузки:
- (void)viewDidLoad
{
[super viewDidLoad];
// Transparent background
self.tableView.backgroundView = nil;
// Generate list of newest modules. Will later look for them on the internet, but for now we only add some test examples.
newestModules = [[NSMutableArray alloc] initWithObjects:@"Test 1", @"Test 2", @"Test 3", @"Test 4", @"Test 5", nil];
}
- (void)viewDidUnload
{
[newestModules release];
[super viewDidUnload];
}