2015-02-08 63 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

相關問題