#ios #iphone #uitableview #refresh #parse-platform
#iOS #iPhone #uitableview #обновить #синтаксический анализ-платформа
Вопрос:
Итак, я изучил Anypic (https://github.com/ParsePlatform/Anypic/blob/master/Anypic-iOS ) источник и попытался воспроизвести эту идею.
У меня есть пользовательская ячейка, в этой ячейке есть setIsNew:isNew так же, как вас учит Anypic. Мой PFQueryTableViewController содержит весь код, связанный со свойством lastRefresh .
НО lastRefresh обновляется в методе 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]];
}
}
Это ни к чему не приводит. Последнее обновление всегда будет позже, чем object.createdAt , поэтому все ячейки будут выглядеть точно так же.
Что я делаю не так? Или есть другое умное решение?
Спасибо и извините, если это вопрос новичка.
Комментарии:
1.
object.createdAt
это дата, когда вы создали объект в базе данных. почемуlastRefresh
всегда раньше, чемobject.createdAt
?2. под более ранним я подразумеваю более поздний.
3. К вашему сведению, когда речь идет о датах, «ранее» обычно принято ссылаться на дату в прошлом, «позже» относится к датам, которые происходят после другой даты.