2015-02-08 62 views
0

我正在使用ParsePFQueryTableViewController,并想知道是否有人知道将结果排序/放入表视图的默认方法是?什么是Parse Table View默认排序方法?

如果不做任何处理,通过数据进入这样的表视图,而且我不知道它看上去那样它是由(排序并没有被通过testdateTime

enter image description here

这是我Parse数据:

enter image description here

这里是我的ViewController.m

- (id)initWithCoder:(NSCoder *)aCoder 
{ 
    self = [super initWithCoder:aCoder]; 
    if (self) { 
     self.parseClassName = @"na"; 
     self.textKey = @"dateTime"; 
     self.pullToRefreshEnabled = YES; 
     self.paginationEnabled = NO; 
    } 
    return self; 
} 
- (PFQuery *)queryForTable 
{ 
    PFQuery *query = [PFQuery queryWithClassName:self.parseClassName]; 

    return query; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object 
{ 
    static NSString *simpleTableIdentifier = @"RecipeCell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier]; 
    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier]; 
    } 
    UILabel *homeLabel = (UILabel*) [cell viewWithTag:101]; 
    homeLabel.text = [object objectForKey:@"test"]; 

    UILabel *dateLabel = (UILabel*) [cell viewWithTag:102]; 
    dateLabel.text = [object objectForKey:@"dateTime"]; 

    return cell; 
} 

任何想法?我可以根据需要添加任何额外的信息。谢谢!

编辑: 我加[query orderByDescending:@"dateTime"];这给了我这样的:

enter image description here

于是我看到了它不知道如何同时订购4月19日,因为它可能是不正确的日期格式为它知道,所以我测试通过更改到:

enter image description here

所以看起来我需要改变他们所有的,但我想知道,因为我会希望日期格式看起来不同,如果我需要做的事情在Parse query侧 - 或 - 一旦我得到我的Parse query数据在我的ViewController

回答

1

PFQTVC根据时间顺序自动设置默认值。请参阅“自定义查询”部分中的注释:

默认查询设置为从您的类获取按降序createdAt排序的对象。要自定义,只需重写queryForTable方法以返回您自己的PFQuery。获取对象时,表格将使用此查询。

参考https://www.parse.com/docs/ios_guide#ui-tables/iOS

+0

我明白了。我根据你的回答给我的问题增加了一些信息,我是否需要在事物的'Parse query'一侧格式化日期,还是一旦我得到'Parse query'就会格式化日期?谢谢!! – SRMR 2015-02-08 20:15:12

+0

没问题@ SRMR它会有助于理解你想要做的第一件事。所以请更新你的问题,我会帮你。使用字符串来表示数字通常是个不错的主意,这就是为什么,比如说你有1-200。并且你想要升序,当然你可以按顺序获得1-99。但是一旦你达到100,这就是你的订单的样子:1,2,3,4,5,6,7,8,9,10,100,11,12,13,14,15 ...等等从技术上来说,100作为一个字符串出现在11之前。所以我的建议是使用日期列类型而不是字符串,它会让你的生活简单十倍 – soulshined 2015-02-08 20:20:58

+0

@SRMR实际上它会很差所以如果你问两个问题同样的问题。我建议用你的问题创建一个新的问题,这样未来的问题追求者可以用同样的问题找到一个更简单的方法。我怀疑用户会通过评论来搜索它。 – soulshined 2015-02-08 20:24:05

相关问题