UITableViewとカスタムタブバー(基本的には6つのUIButtonを含むUIView)を保持する完全なカスタムビューがあります。
plistファイルからデータを読み込んでから、カテゴリに基づいてデータを複数の配列(その他のアイテムの配列、メールアイテムの配列など)に並べ替えています。
タブバーの各ボタンはカテゴリを表し、ボタンを押すとカスタム関数「miscSelected」などを呼び出します。
テーブルビューを完全にリロードしてから、選択した配列に基づいてテーブルビューを表示するにはどうすればよいですか(他のカテゴリと同じように、その他のカテゴリを選択すると、テーブルビューが自動的にクリアされ、その他の配列データが読み込まれます)。
私が実験したメソッドが作成され、NSStringに「selection」という名前が付けられます。次に、各ボタン関数で、選択したセクションと同じになるようにselectedを設定します。私のcellForRoxAtIndexPathメソッドには、次のものがあります。
if ([self.selection isEqualToString:@"All Items"]) {
NSArray *mainDataArray = [NSArray arrayWithContentsOfFile:self.plistFile];
NSSortDescriptor *brandDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:brandDescriptor];
self.sortedData = [mainDataArray sortedArrayUsingDescriptors:sortDescriptors];
}
else if ([self.selection isEqualToString:@"Misc Items"]){
self.sortedData = [NSArray arrayWithContentsOfFile:self.plistFile];
}
cell.itemTitle.text = [[self.sortedData objectAtIndex:indexPath.row] objectForKey:@"name"];
例とテストのために、同じデータを表示しているだけです。一方のボタンだけでアルファベット順に表示され、もう一方のボタンでは表示されません。
このコードは、スクロールダウンとバックアップを開始した場合にのみ機能しますが、ボタンを押しても実際には更新されません。myTablereloadDataを呼び出しても何も起こりません。
どんな助けでも素晴らしいでしょう、ありがとう!