以不同方式显示新项目的方法PFQueryTable

时间:2014-06-26 23:53:00

标签: ios iphone uitableview refresh parse-platform

所以我查看了Anypic(https://github.com/ParsePlatform/Anypic/blob/master/Anypic-iOS)来源并尝试复制这个想法。

我有一个自定义单元格,这个单元格有setIsNew:isNew就像Anypic教你一样。我的PFQueryTableViewController包含与lastRefresh属性相关的所有代码。

但lastDfresh在objectsDidLoad方法中更新,该方法在重新加载单元格之前调用。

的ViewController:

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.lastRefresh = [[NSUserDefaults standardUserDefaults] objectForKey:@"lastRefresh"];
}

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    PFObject *obj = self.objects[indexPath.section];

...

    if ([self.lastRefresh compare:obj.createdAt] == NSOrderedAscending) {
        [cell setIsNew:YES];
    } else {
        [cell setIsNew:NO];
    }
    return cell;
}

-(void)objectsDidLoad:(NSError *)error
{
    [super objectsDidLoad:error];
    self.lastRefresh = [NSDate date];
    [[NSUserDefaults standardUserDefaults] setObject:self.lastRefresh forKey:@"lastRefresh"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}

自定义单元格:

- (void)setIsNew:(BOOL)isNew
{
    if (isNew) {
        [self.mainView setBackgroundColor:[UIColor colorWithRed:1 green:0.9216 blue:0.5608 alpha:0.5]];
    } else {
        [self.mainView setBackgroundColor:[UIColor whiteColor]];
    }
}

没有任何结果。 lastRefresh总是晚于object.createdAt,所以所有单元格看起来都完全一样。

我做错了什么?或者还有另一个聪明的解决方案吗?

如果这是一个noob问题,谢谢你,对不起。

0 个答案:

没有答案