Выборка твитов


Я написал этот код (усе), чтобы забрать некоторые твиты:

  dispatch_async(dispatch_get_global_queue(0, 0), ^{
    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES];

    NSString *JSONStr = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://search.twitter.com/search.json?q=haak&lang=nl&rpp=100"] encoding:NSUTF8StringEncoding error:nil];
    if (!JSONStr) {
      [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
      return;
    }

    /*... PARSING ETC ...*/

    dispatch_sync(dispatch_get_main_queue(), ^{
      [delegate didReceiveTweets:foundTweets];
    });

    [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
  });

Обратите внимание на строки из dispatch_sync(dispatch_get_main_queue(), ^{ к });. Это обновление пользовательского интерфейса.

Это хороший способ сделать это, или есть более эффективные способы, чем с помощью dispatch_sync в dispatch_async? Или я должен не делать этого вообще? Я должен также послать setNetworkActivityIndicatorVisible: из основного потока?

Почему я не использую NSURLConnection потому что этот код из метода класса, поэтому мне нужно создать объект, содержащий делегата NSURLConnection, который, кажется, перебор для меня.



1411
13
задан 20 января 2011 в 07:01 Источник Поделиться
Комментарии