Когда я загружаю свой основной вид, он автоматически загружает канал JSON с сообщениями в блоге.
У меня есть кнопка обновления на верхней панели основного представления. Я уже успешно подключил его к IBAction
, и при нажатии я могу вывести строку в журнал.
Я пытаюсь заставить свое представление перезагружать фид JSON, когда я нажимаю кнопку обновления, но это не работает.
Что я делаю не так?
Мой ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UICollectionViewController {
NSArray *posts;
}
- (void)fetchPosts;
- (IBAction)refresh:(id)sender;
@end
Мой ViewController.m
...
- (void)viewDidLoad
{
[super viewDidLoad];
[self fetchPosts];
}
- (IBAction)refresh:(id)sender {
[self fetchPosts];
}
- (void)fetchPosts
{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData* data = [NSData dataWithContentsOfURL:[NSURL URLWithString: @"https://website.com/app/"]];
NSError* error;
posts = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
dispatch_async(dispatch_get_main_queue(), ^{
[self.collectionView reloadData];
});
});
}
...
incompatible pointer types initializing NSJSONSerialization *__strong with an expression
05.10.2012__block
наNSArray
; это основано на предположении, что ваша переменнаяposts
является массивом. Это правильно? 06.10.2012