0

インデックス パスの cellForRow のテーブルビューに 2 つの異なるインデックス パスを実装する必要があります。

これについて最善の方法は何ですか。

4

1 に答える 1

0

何を求めているのか正確にはわかりませんが、NSFetchedResultController からの結果を含む 1 つのセクションと、他のソースからのデータを含む別のセクションを含むテーブルが必要なようです。これは簡単です。データが複数のセクションにある必要がない場合は、非常に簡単です。セクション 0 のデータを fetchedResultController から取得し、セクション 1 のデータを別のものから取得するだけです。

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 2;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    if(section == 0){    
        id  sectionInfo = [[fetchedResultsController sections] objectAtIndex:section];
        return [sectionInfo numberOfObjects];
     }else{
        return self.someArray.Count;
     }
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
     if(indexpath.section == 0){    
          static NSString *CellIdentifier = @"data cell";
          UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
           NSObject *foo = [self.fetchedResultController objectAtIndexPath:indexPath];
           //configure cell
          return cell;
      }else{
          static NSString *CellIdentifier = @"some other cell";
          UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

           //configure cell
          return cell;
     }
}
于 2012-07-07T19:45:13.717 に答える