у меня проблема с приведенным ниже кодом на iOS, у меня есть 3 раздела, и каждый раздел имеет определенное количество строк, которое определяется функцией: countcells.
Но каждый раз, когда я запускаю его, у меня возникает одна и та же ошибка: 2014-07-29 22:16:32.710 TYM-APP[5598:60b] * Завершение работы приложения из-за необработанного исключения «NSRangeException», причина: «* strong> -[__NSArrayI objectAtIndex:]: индекс 2 выходит за пределы [0 .. 0]'
Что не так с кодом??
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 3;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if (section == 0)
{
NSString *querySQL = [NSString stringWithFormat: @"SELECT count(*) FROM homedata where module_ID= 77"];
return [self countcells:querySQL];
}
else if(section == 1)
{
NSString *querySQL = [NSString stringWithFormat: @"SELECT count(*) FROM homedata where module_ID= 78"];
return [self countcells:querySQL];
}
else if (section == 2)
{
return[self countcells:@"SELECT count(*) FROM homedata where module_ID= 81"];
}
else return 0;
}
- (int) countcells: (NSString *)query
{
int e;
NSString* text;
NSString * paths=[self getWritableDBPath];
const char *dbpath = [paths UTF8String];
sqlite3_stmt *statement;
static sqlite3 *database = nil;
if (sqlite3_open(dbpath, &database) == SQLITE_OK)
{
NSString *querySQL = [NSString stringWithFormat:query];
const char *query_stmt = [querySQL UTF8String];
// NSLog(@"Databasae opened = %@", userN);
if (sqlite3_prepare_v2(database,
query_stmt, -1, &statement, NULL) == SQLITE_OK)
{
while(sqlite3_step(statement) == SQLITE_ROW)
{
text = [[NSString alloc]initWithUTF8String:(const char *) sqlite3_column_text(statement, 0)];
e = sqlite3_column_int(statement, 0);
NSLog( @"Valeur directe: %d", e);
}
// username.text=@"No Username";
sqlite3_finalize(statement);
}
// NSLog( @"Save Error: %s", sqlite3_errmsg(database) );
NSLog( @"Count Value: %@", text);
sqlite3_close(database);
}
return e;
}
Exception Breakpoint
и сказать, где он останавливается. - person sumofighter666   schedule 30.07.2014-tableView:cellForRowAtIndePath:
метода делегата? - person sumofighter666   schedule 30.07.2014