我有JSON文件,我把这些信息放在我的表中。我有一个按钮来排序我的数组
我可以对我的数组进行排序并使用NSLog
进行打印。如何根据排序的数组更新我的表?
这是我的代码:
-(void)sortArry:(UIButton *)sender
{
NSSortDescriptor *ageDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortDescriptors = @[ageDescriptor];
NSArray *sortedArray = [tableData sortedArrayUsingDescriptors:sortDescriptors];
//here i have my data in nslog
NSLog(@"%@ sort test",sortedArray);
}
如何在表格中显示我的sortedArray?
我也用过
[self.tableView reloadData];
排序后但它没有显示已排序的表
更新
这是我的cellForRowAtIndexPath
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath
*)indexPath
{
static NSString *CellIdentifier = @"Cell";
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSArray *objects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil];
for (id currentObject in objects)
{
if([currentObject isKindOfClass:[UITableViewCell class]])
{
cell = (CustomCell *) currentObject;
break;
}
}
}
id keyValuePair;
if (tableView == self.searchDisplayController.searchResultsTableView)
{
keyValuePair = [self.filteredTableData objectAtIndex:indexPath.row];
}
else
{
keyValuePair = [self.tableData objectAtIndex:indexPath.row];
}
cell.name.text = keyValuePair[@"name"];
return cell;
}
答案 0 :(得分:0)
在对数组进行排序后调用[tableView reloadData];
。
答案 1 :(得分:0)
sortedArray
需要是viewController的属性而不是sortArry
的实例变量,因此当您重新加载所有UITableViewdelegate
方法时,可以访问其值并进行更新。
// The array You use to populate the table
@property NSArray ArrayDataSource;
更改方法签名以返回已排序的数组
-(NSArray *)sortArry
{
NSSortDescriptor *ageDescriptor =
[[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortDescriptors = @[ageDescriptor];
NSArray *sortedArray =
[tableData sortedArrayUsingDescriptors:sortDescriptors];
//here i have my data in nslog
NSLog(@"%@ sort test",sortedArray);
return sortedArray;
}
在数据源中存储返回值:
ArrayDataSource = [self.ArrayDataSource];
最后重新加载表
[self.tableView reloadData];
答案 2 :(得分:0)
sortedArray
在sortArry:
方法结束时超出范围时会被删除。您需要设置UITableViewDelegate方法检查的属性或实例变量。