ios - docs - No puedo obtener una imagen de PFFile
docs parse platform (1)
Parse.com acaba de actualizar sus SDK para admitir el almacenamiento local. Pero después de instalar nuevos SDK, he tenido algunos problemas con PFFile. He usado el mismo método durante mucho tiempo, pero ahora que estoy usando el nuevo SDK no puedo hacerlo funcionar.
Aquí está mi código:
archivo .h
@property (strong, nonatomic) IBOutlet PFFile *iconPhoto;
archivo .m
cell.iconPhoto.image = [UIImage imageNamed:@"placeholder.png"]; // placeholder image
cell.iconPhoto.file = (PFFile *)object[@"icon"]; // remote image
[cell.iconPhoto loadInBackground:^(UIImage *image, NSError *error) {
cell.iconPhoto.image = image;
cell.userInteractionEnabled = YES;
}];
Cuando corro, obtengo estos errores (enlace)
¿Alguien tiene los mismos problemas?
ACTUALIZAR:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
});
static NSString *CellIdentifier = @"Cell";
MainTVCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
PFObject *object = [self.currentCategories objectAtIndex:indexPath.row];
cell.mainLabel.text = object[@"name"];
cell.userInteractionEnabled = YES;
if (![object[@"icon"] isEqual:[NSNull null]]) {
cell.image = [UIImage imageNamed:@"loading.png"]; // placeholder image
cell.iconPhoto = (PFFile *)object[@"icon"]; // remote image
[cell.iconPhoto getDataInBackgroundWithBlock:^(NSData *imageData, NSError *error) {
if (!error && imageData) {
cell.image = [UIImage imageWithData:imageData];
cell.userInteractionEnabled = YES;
}
}];
}
return cell;
}
Encontré una solución yo mismo.
PFFile *file = (PFFile *)object[@"icon"];
[file getDataInBackgroundWithBlock:^(NSData *data, NSError *error) {
cell.iconImageView.image = [UIImage imageNamed:@"placeholder.png"]; // placeholder image
cell.iconImageView.image = [UIImage imageWithData:data];
cell.userInteractionEnabled = YES;
}];
Esto cargará las imágenes. Lo raro es que no se ejecutará en el simulador ... Pero funciona perfectamente en iPhone.