views:

112

answers:

1

Hey,

Im having a problem with my app that causes it to crash when no data is present in the table when using a table view. I have tested my code and it works fine as long as there is data present but i need it to work when there is no data present.

-(void)initialiseTableData
{
NSMutableArray *array = [[NSMutableArray alloc]init];

sqlite3 *db = [iCaddyAppDelegate getNewDBConnection];
sqlite3_stmt  *statement;
const char *sql = "select courseId, courseName, totalPar, totalyardage, holePars,        holeYardages, holeStrokeIndexs from Course";
if(sqlite3_prepare_v2(db, sql, -1, &statement, NULL)!= SQLITE_OK) 
{
  NSAssert1(0,@"Error preparing statement",sqlite3_errmsg(db));
  sqlite3_close(db);
}

else
{

while (sqlite3_step(statement) == SQLITE_ROW) 
{

  Course *temp = [[Course alloc]init];

  temp.courseId = sqlite3_column_int(statement,0);
  temp.courseName = [NSString     stringWithFormat:@"%s",(char*)sqlite3_column_text(statement,1)];
  temp.totalPar =sqlite3_column_int(statement,2);
  temp.totalYardage =sqlite3_column_int(statement,3);

  NSString *tempHolePars = [NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement,4)]; 
  NSString *tempHoleYardages = [NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement,5)];
  NSString *tempHoleStrokeIndexes = [NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement,6)];

  NSArray *temp1 = [tempHolePars componentsSeparatedByString:@":"];
  NSArray *temp2 = [tempHoleYardages componentsSeparatedByString:@":"];
  NSArray *temp3 = [tempHoleStrokeIndexes componentsSeparatedByString:@":"];

  for(int i = 0; i<=17; i++)
  {
    NSString *temp1String = [temp1 objectAtIndex:i];
    [temp.holePars insertObject:temp1String atIndex:i];

    NSString *temp2String = [temp2 objectAtIndex:i];
    [temp.holeYardages insertObject:temp2String atIndex:i];

    NSString *temp3String = [temp3 objectAtIndex:i];
    [temp.holeStrokeIndexes insertObject:temp3String atIndex:i];
  }

  [array addObject:temp];
} 

  self.list = array;
  [self.table reloadData];

}



}
A: 
falconcreek