不使用UITableViewController重新排序UITableView

时间:2013-12-10 05:13:43

标签: ios objective-c uitableview

所以这就是我所拥有的(简化):

 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return 10;
    }

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
        if (indexPath.row == 0) {
            cell.textLabel.text = @"First";
        }else{
            cell.textLabel.text = [NSString stringWithFormat: @"%d", indexPath.row];
      }
      return cell;
    }

我需要做的是:

numberOfRowsInSection()更改为返回11,然后更改cellForRowAtIndexPath()中的代码,以便在行为10时设置cell.textLabel = @"Top Spot";

然后我想在“First”之前将“Top Spot”移到UITableView列表的顶部,好像“Top Spot”一直是第0行,“First”一直是第1行。我可以'在控制器中这样做,因为它已经在应用商店中,并且更新会让用户报告现有记录的错误值。因此,就应用程序的其余部分而言,“Top Spot”实际上是第10行,只有表格的显示知道发生了什么。选择“Top Spot”的用户实际上会选择第10行,而不是第0行。

这可能吗?

感谢您的任何意见。

1 个答案:

答案 0 :(得分:0)

将您的数据存储到NSArray或 然后NSMutableArray将它安排到您想要的任何订单 并显示来自Array或Dictionary.it的数据将被安排一个

您可以做的另一种方法是创建一个Custom类并可以存储特定的属性

 @interface exampleClassName :NSObject 
{
 @property (nonatomic, strong) NSString * ex1;
 @ property (nonatomic, strong) NSString * ex2;
 @property (nonatomic, strong) NSString * ex3;
 @property (nonatomic) NSInteger arrange;

}

*然后你的.m实现文件根据你的需要。 在这里它是你的阅读技巧。现在,您可以创建此类的Object,并可以开始将对象存储到数组中

 exampleClassName *ex1=[exampleClassName alloc] init];
  ex1.arrange=1;
  ex1.ex1=@" ";
 ex1.ex2=@" ";
 ex1.ex3=@" ";

  NSMutableArray *array=[NSMutableArray alloc] initWithObjects:ex1,........];

现在你可以安排这个NSMutable Array基于对象“arrange”属性,这是一个整数,你可以根据你的特定优先级为这个安排属性赋值。你想在顶部显示“Top Spot”你可以给出它根据升序或降序安排安排物业价值1。

希望这可以帮到你。