Не удалось получить значения updatedAt или createdAt из объектов Parse
Я опытный разработчик Android, пытающийся запустить прототип приложения iOS, используя службу Parse и sdk (https://www.parse.com/).
Это здорово, и я без проблем могу получить все свои объекты и их ценности, все работает нормально.
Однако я не могу получить значение updatedAt, автоматически созданное Parse для каждого объекта.
Это необходимо для меня, и я не хочу, чтобы сохранить временную метку времени как строку, когда данные сидят прямо там.
Это суть того, что я делаю.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath object:(PFObject *)object {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
// this works fine
cell.textLabel.text = [object objectForKey:@"name"];
//substring however does not
NSDate *updated = [object objectForKey:@"updatedAt"];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EEE, MMM d, h:mm a"];
cell.detailTextLabel.text = [NSString stringWithFormat:@"Lasted Updated: %@", [dateFormat stringFromDate:update]];
//i also tried like this at first
cell.detailTextLabel.text = [NSString stringWithFormat:@"Lasted Updated: %@", [object objectForKey:@"updatedAt"]];
return cell;
}
Ответы
Ответ 1
Глупый Мэтт. Я думаю об этом в течение дня, а затем осознаю свою ошибку, после того, как я опубликую ее.
updatedAt является свойством для всех PFObjects, нет необходимости извлекать его с помощью ключа.
Для объекта PFObject, который называется object...
NSDate *updated = [object updatedAt];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EEE, MMM d, h:mm a"];
cell.detailTextLabel.text = [NSString stringWithFormat:@"Lasted Updated: %@", [dateFormat stringFromDate:updated]];
![Working Date String]()
@Parse, кончик шляпы
Ответ 2
Для Swift:
let dateUpdated = object.updatedAt! as NSDate
let dateFormat = NSDateFormatter()
dateFormat.dateFormat = "EEE, MMM d, h:mm a"
cell.updatedAtLabel.text = NSString(format: "%@", dateFormat.stringFromDate(dateUpdated))
Ответ 3
У меня просто была такая же проблема, не обращайтесь к ней с помощью objectForKey, просто обращайтесь к ней напрямую через свойство createdAt.
в Swift
object.createdAt
Как указано в документах, клавиши:
Это не включает createdAt, updatedAt, authData или objectId. Это включает в себя такие вещи, как имя пользователя и ACL.