0

さて、別の質問があります。今夜、AFNetworking を使用して、JSON ストリームを解析し、MutableArray にオブジェクトを追加します。成功ブロックの外側に配列を印刷しようとすると、null と表示されますが、このブロック内では機能するので、 _listOfNewsArray をメインスレッドに渡すにはどうすればよいですか?

これは私のコードです:

- (void)viewDidLoad
{
    [super viewDidLoad];
NSString *path = [[NSBundle mainBundle] pathForResource:@"bgWhitelight" ofType:@"png"];
self.tableView.backgroundColor = [[UIColor alloc] initWithPatternImage:[[UIImage alloc] initWithContentsOfFile:path]];

NSURLRequest *newsRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://aXXXXXXXXXXXipt/beta.php"]];

AFJSONRequestOperation *newsJSONRequest = [AFJSONRequestOperation JSONRequestOperationWithRequest:newsRequest success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON)
{
    NSArray *newsArray = [JSON objectForKey:@"news"];
    _listOfNews = [[NSMutableArray alloc]init];

    for (NSDictionary *oneNews in newsArray) {

        CCENews *currentNews = [[CCENews alloc]init];
        currentNews.title = [oneNews objectForKey:@"title"];
        currentNews.content = [oneNews objectForKey:@"content"];
        currentNews.category = [currentNews getHiResCategoryPicture:[oneNews objectForKey:@"category"]];
        currentNews.date = [oneNews objectForKey:@"date"];
        currentNews.imageURL = [oneNews objectForKey:@"pictureurl"];

        [_listOfNews addObject:currentNews];
    }
} failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error, id JSON) {

    NSLog(@"%@", error);
}];

[newsJSONRequest start];
4

2 に答える 2

1

実際、self.listOfNewsを使用するだけで解決策を見つけました。それについて考える必要がありました!-

于 2013-04-21T14:12:17.297 に答える