Webサービスからのデータを2段階までの展開可能なテーブルビューで表示する必要があります。これは静的なデータでは可能ですが、私はバックエンドから取り出されたデータでこの作業を行う方法を見つけることができません。ポストマンにこの例を以下に示す:JSON(expand-collapsible)でデータを表示する(objective-c)
One Level UITableView Data in Postman
上記最初のレベルの拡張のためのものです。ここでは、 "Accountants"がメインカテゴリであり、 "jj tags"、 "Certified Public" & "General Services"は展開後に表示されるサブカテゴリです(ユーザーが "Accountants"というセルをタップすると)。同様に、いくつかのカテゴリを表示する必要があり、第2レベルのさらなる拡張が含まれていてもいなくてもよい。 Webサービス用として
、私は2つの方法でデータをフェッチするオプションをしました:
- は、単一のAPIでメインとサブカテゴリーの両方を取得する(上のスクリーンショットに示すように)。
- メインとサブのカテゴリを別々のAPIで取得する。
は、これまでのところ私はcellForRowAtIndexPath
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return [[subCatArray objectAtIndex:section] count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ceLL" forIndexPath:indexPath];
cell.textLabel.text = [[subCatArray objectAtIndex:indexPath.section] objectAtIndex:indexPath.row];
return cell;
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return [catArray count];
}
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{
for (int i=0; i<[catArray count]; i++) {
if(section == i){
return NSLocalizedString([catArray objectAtIndex:i], nil);
}
}
return nil;
}
にtitleForHeaderInSection
&最初のレベルのサブカテゴリーに主なカテゴリを実装しようとしました。しかし私は2番目のレベルについてどのように行くのですし、これらの折りたたみ可能/拡張を行います?
あなたはある程度助けてくれましたが、これは第3レベルには対応していません。 –
フィードバックいただきありがとうございます –