Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 获取异步Twitter配置文件映像iOS5_Iphone_Ios5_Twitter_Objective C Blocks - Fatal编程技术网

Iphone 获取异步Twitter配置文件映像iOS5

Iphone 获取异步Twitter配置文件映像iOS5,iphone,ios5,twitter,objective-c-blocks,Iphone,Ios5,Twitter,Objective C Blocks,无法找出为什么profileImage无法粘贴。。。(我加上这个词只是想看看这是否与呆在一个街区内有关……事实并非如此) profileImage只是一个普通的合成属性 @property (strong, nonatomic) UIImageView *profileImage; -(void)fetchProfileImage { __block UIImage *pImage; dispatch_async(dispatch_get_global_queue(0, 0)

无法找出为什么profileImage无法粘贴。。。(我加上这个词只是想看看这是否与呆在一个街区内有关……事实并非如此)

profileImage只是一个普通的合成属性

@property (strong, nonatomic) UIImageView *profileImage;

-(void)fetchProfileImage
{
    __block UIImage *pImage;

    dispatch_async(dispatch_get_global_queue(0, 0), ^
    {
        NSString *url_ = [NSString stringWithFormat:@"http://api.twitter.com/1/users/profile_image/%@", userName];

        TWRequest *fetchUserImageRequest = [[TWRequest alloc] initWithURL:[NSURL URLWithString:url_] parameters:nil requestMethod:TWRequestMethodGET];

        [fetchUserImageRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) 
         {
             if ([urlResponse statusCode] == 200) 
             {
                 dispatch_async(dispatch_get_main_queue(), ^(void) 
                {
                    NSLog(@"[UIImage imageWithData:responseData] = %@", [UIImage imageWithData:responseData]);

                    pImage = [UIImage imageWithData:responseData];

                    NSLog(@"pImage = %@", pImage);

                    self.profileImage.image = pImage;

                    NSLog(@"self.profileImage.image = %@", self.profileImage.image);

                });
             }
         }];
    });
}
日志:

[UIImage imageWithData:responseData] = <UIImage: 0x2685d0>
pImage = <UIImage: 0x2685d0>
self.profileImage.image = (null)
[UIImage imageWithData:responseData]=
pImage=
self.profileImage.image=(空)

结果表明,在创建父对象时,我没有初始化UIImageView

tweet.profileImage = [[UIImageView alloc] init];

我们看不到self.profileImage的属性。我猜这就是问题所在。此外,不需要在循环外部定义pImage。另一个问题,当响应返回时,“self”是否存在?@PauldeLange你的意思是看不到属性?self返回正确。profileImage有效吗?也许它在其他地方被设置为零?如果self或profileImage为nil,则会发生这种情况。我假设profileImage是一个UIImageView,您的视图是否已加载?dispatch\u get\u global\u queue(0,0)可以替换为dispatch\u get\u main\u queue(),以确保您也在UI线程上。事实上,这里有些可疑之处。应该没有理由在调用函数的不同线程中创建TWRequest对象。