2015-01-03 57 views
-3

我已經創建了一個coreData應用,我救了我的NSString的使用添加的NSString特別UITableViewCells

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

    Person *person = [self.fetchedResultsController objectAtIndexPath:indexPath]; 
    cell.textLabel.text = [NSString stringWithFormat:@"%@",person.personType]; 

    return cell; 
} 

在一個UITableView顯示他們,我想使它所以這些結果開始後10的UITableView顯示細胞,並在前10個細胞中,我只是添加一個預設的NSString,將永遠是相同的?任何幫助將很大

回答

0

使用if聲明並檢查indexPath.row

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

    if (indexPath.row < 10) { 
     cell.textLabel.text = ... // some hardcoded value for the first 10 rows 
    } else { 
     NSIndexPath *newPath = [NSIndexPath indexPathForRow:indexPath.row - 10 inSection:indexPath.section]; 
     Person *person = [self.fetchedResultsController objectAtIndexPath:newPath]; 
     cell.textLabel.text = person.personType; 
    } 

    return cell; 
} 

而且你的numberOfRowsInSection方法還需要返回10多行。

+0

In person * person = [self.fetchedResultsController objectAtIndexPath:indexPath - 10]; 「-10」似乎不起作用? – burrGGG

+0

爲什麼不呢?請詳細說明。 – rmaddy

+0

它打破了,說'不兼容的整數指向int類型的指針轉​​換髮送到NSIndexpath'。難道是因爲numberOfRowsInSection增加了10?這就是我在numberOfRowsInSection id secInfo = [[self.fetchedResultsController sections] objectAtIndex:section]; return [secInfo numberOfObjects] + 10; – burrGGG