Note that there are some explanatory texts on larger screens.

plurals
  1. POHow to generate different data on row from arrays in different sections of uitableview cell
    text
    copied!<p>I have some database and I am generating data something like this.</p> <p>First getting categoryid and categoryName form the database. And sectiontitle of the table is categoryName.</p> <p>here is some sample code</p> <pre><code>- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return categoryNamesList.count; } -(NSString *) tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { return [categoryNamesList objectAtIndex:section]; } </code></pre> <p>I want to generate flashcardid and flashcard name on the base of category id. categoryid is stored in database like 1,2,3.</p> <p>So I'm passing categoryid in query:</p> <pre><code>select flashCardId,flashCardName from flashCardInfo where categoryId=(parameter) </code></pre> <p>In the flashcardid I am getting 1,2,3 and in the flashcards names array I am getting flashcard1,flashcard2,flashcard3 first time now I want to generate text on my cell like firstcategoryname on section 1 and then related flashcard name on the rows then on the second section second category name and related flashcardsNames on the rows. Where to increase the category id so that I get next names nad id's and how to set text on cells</p> <p>now how do I generate this on </p> <p>Here is the code; it's in the <code>indexviewcontroller.m</code> file.</p> <pre><code>- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return categoryNamesList.count; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return flashCardsNamesList.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"Cell"; CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[CustomCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease]; } if(categoryID&lt;listOfCategoryId.count) { for(int i=0;i&lt;flashCardsNamesList.count;i++) { [cell.FlashCardsNames setText:[flashCardsNamesList objectAtIndex:i]]; } categoryID++; [self getFlashCard:categoryID]; } return cell; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [indexTableView deselectRowAtIndexPath:indexPath animated:YES]; for(int i=0;i&lt;flashCardsId.count;i++) { questionViewControllerObj = [[flashCardQuestionViewController alloc] initWithNibName:@"FlashCardQuestionView" bundle:[NSBundle mainBundle]]; [self.navigationController pushViewController:questionViewControllerObj animated:YES]; questionViewControllerObj.flashcardid = [[flashCardsId objectAtIndex:i] intValue]; questionViewControllerObj.categoryid = [[listOfCategoryId objectAtIndex:indexPath.section]intValue]; } } /* - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { if (editingStyle == UITableViewCellEditingStyleDelete) { } if (editingStyle == UITableViewCellEditingStyleInsert) { } } */ /* - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { return YES; } */ /* - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath { } */ /* - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath { return YES; } */ -(NSString *) tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { return [categoryNamesList objectAtIndex:section]; } # pragma mark - # pragma mark viewDidLoad - (void)viewDidLoad { [super viewDidLoad]; [self getIntialData]; self.navigationItem.title = @"Index"; indexTableView.backgroundColor = [UIColor lightGrayColor]; } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; } - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; } - (void)viewWillDisappear:(BOOL)animated { } - (void)viewDidDisappear:(BOOL)animated { } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } #pragma mark - #pragma mark Database Methods -(void)getIntialData { [self getcategory]; [self getFlashCard:categoryID]; } //getting categoryid,categoryname from the database -(void)getcategory { if(listOfCategoryId!=nil) [listOfCategoryId removeAllObjects]; else listOfCategoryId = [[NSMutableArray alloc] init]; if(categoryNamesList!=nil) [categoryNamesList removeAllObjects]; else categoryNamesList = [[NSMutableArray alloc] init]; if(listOfCategoryType!=nil) [listOfCategoryType removeAllObjects]; else listOfCategoryType = [[NSMutableArray alloc] init]; clsDatabase *clsDatabaseObject = [[clsDatabase alloc] init]; sqlite3_stmt *dataRows = [clsDatabaseObject getDataset:"select categoryId,categoryName,categoryType from cardCategoryInfo"]; while(sqlite3_step(dataRows) == SQLITE_ROW) { [listOfCategoryId addObject:[NSNumber numberWithInt:sqlite3_column_int(dataRows,0)]]; [categoryNamesList addObject: [NSString stringWithUTF8String:(char *)sqlite3_column_text(dataRows,1)]] ; [listOfCategoryType addObject:[NSNumber numberWithInt:sqlite3_column_int(dataRows,2)]]; } sqlite3_finalize(dataRows); [clsDatabaseObject release]; categoryID = [[listOfCategoryId objectAtIndex:categoryID] intValue]; } //getting flashcardId and flashcard name from categoryid -(void)getFlashCard:(int)categoryid { if(flashCardsId!=nil) [flashCardsId removeAllObjects]; else flashCardsId = [[NSMutableArray alloc] init]; if(flashCardsNamesList!=nil) [flashCardsNamesList removeAllObjects]; else flashCardsNamesList = [[NSMutableArray alloc] init]; NSString *martialStr=[NSString stringWithFormat:@"%d", categoryid]; NSString *queryStr=[[NSString alloc] initWithString:@"select flashCardId,flashCardName from flashCardInfo where categoryId="]; queryStr=[queryStr stringByAppendingString:martialStr]; unsigned int lengthOfString=[queryStr length]; char temp2[lengthOfString +1]; strcpy(temp2, [queryStr cStringUsingEncoding:NSUTF8StringEncoding]); clsDatabase *clsDatabaseObject = [[clsDatabase alloc] init]; sqlite3_stmt *dataRows = [clsDatabaseObject getDataset:temp2]; while(sqlite3_step(dataRows) == SQLITE_ROW) { [flashCardsId addObject:[NSNumber numberWithInt:sqlite3_column_int(dataRows,0)]]; [flashCardsNamesList addObject:[NSString stringWithUTF8String:(char *)sqlite3_column_text(dataRows,1)]]; } sqlite3_finalize(dataRows); [clsDatabaseObject release]; } - (void)dealloc { [self.navigationController popViewControllerAnimated:YES]; [listOfCategoryId release]; [listOfCategoryType release]; [questionViewControllerObj release]; [categoryNamesList release]; [flashCardsNamesList release]; [flashCardsId release]; [indexTableView release]; [super dealloc]; } @end </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload