解决方案 »

  1.   

        if (![NSThread isMainThread]) {
            [self performSelectorOnMainThread:@selector(XXX:) withObject:nil waitUntilDone:NO];
        } 我是这么处理的,看看是不是你需要的
      

  2.   

    dispatch_async(dispatch_get_main_queue(), ^(){        //传字符串值    });
      

  3.   

    如果在block中用到self,要注意:
    在block前定义:
    __weak id weakSelf = self;block中:
    weakSelf.name = name;主要防止都是强引用形成循环引用
      

  4.   


    [NSURLConnection sendAsynchronousRequest:request
                                           queue:[NSOperationQueue mainQueue]
                               completionHandler:^(NSURLResponse *response,
                                                   NSData *data,
                                                   NSError *error)
         {
             if ([data length]>0 && error == nil)
             {
                //do your stuff
             }
             else if([data length] == 0 && error == nil)
             {
                 NSLog(@"Nothing was downloaded.");
             }
             else if(error != nil)
             {
                 NSLog(@"Error = %@", error);
             }
             else
             {
                 NSLog(@"other");
             }
         }];