2016-12-26 26 views
0

這是我的代碼,我試圖在Array中添加值並將它們填充到Tableview中。在ios的Tableview中添加NSArray中的值

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
    return [self.greekLetter count]; 
} 

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    NSString *SimpleIdentifier = @"SimpleIdentifier"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:SimpleIdentifier]; 

    if(cell == nil){ 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:SimpleIdentifier]; 
    } 

    cell.textLabel.text = self.greekLetter[indexPath.row]; 

    return cell; 
} 

當我添加值的牧羣代碼值它顯示正確的表視圖。

[email protected][@"prem",@"nath",@"kumar",@"shree"]; 

我想動態地將值添加到數組中,它將顯示在表格視圖中。有人能幫助我嗎?

+4

添加的值,並調用'reloadData'上表視圖。 – vadian

+0

http://stackoverflow.com/a/31870301/4601170 –

回答

2

假設你greekLetterNSMutableArray

-(void) addDataToGreekLetter { 
    [self.greekLetter addObject:@"TestObject"]; 
    [self.tableView reloadData]; 
} 

假設你greekLetterNSArray

-(void) addDataToGreekLetter { 
    NSMutableArray *temp = [NSMutableArray arrayWithArray: self.greekLetter]; 
    [temp addObject:@"TestObject"]; 
    self.greekLetter = [NSArray arrayWithArray:temp]; 
    [self.tableView reloadData]; 
} 
4

而是重新加載整個UITableView的,你可以只使用insertRowsAtIndexPaths嘗試。它不會重新加載所有的單元格,併爲它提供一個不錯的動畫。

例如:

-(void)addData:(NSString *)text{ 

    //provided your self.greekLetter is NSMutableArray 

    [self.greekLetter addObject:text] 

    NSIndexPath *index = [NSIndexPath indexPathForRow:(self.greekLetter.count - 1) inSection:0]; 

    [self.tableview insertRowsAtIndexPaths:@[index] withRowAnimation:UITableViewRowAnimationRight]; 
}