2014-12-15 6 views
1

Parse.com только что обновил свои SDK для поддержки локального хранилища. Но после установки новых SDK я столкнулся с некоторыми проблемами с PFFile. Я использовал тот же метод в течение длительного времени, но теперь, когда я использую новый SDK, я не могу заставить его работать.Я не могу получить изображение из PFFile

Вот мой код:

.h файл

@property (strong, nonatomic) IBOutlet PFFile *iconPhoto; 

файл .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; 

    }]; 

Когда я бегу, я получаю these errors (link)

ли кто-то другой имеет те же проблемы ?

UPDATE:

- (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; 
} 
+0

О, вы только что изменили свой экранный колпачок ... И ваш код в кеше экрана не совпадает с кодом здесь ... –

+0

Вы комбинируете две отдельные концепции ... Если вы используете PFImageView с использованием 'getDataInBackground' не требуется. –

+0

Вы просто удалили свой комментарий ... Что такое PFImageView? –

ответ

1

Я нашел решение сам.

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; 

}]; 

Загрузка изображения. Странно, что он не будет работать в симуляторе. Но отлично работает на iPhone.

+1

Я не уверен, почему у вас есть образ заполнителя внутри блока. –

 Смежные вопросы

  • Нет связанных вопросов^_^