Objective c 将图像发送到另一个视图控制器UIImageView IOS 5.1

Objective c 将图像发送到另一个视图控制器UIImageView IOS 5.1,objective-c,ios,uitableview,uiimageview,uiimage,Objective C,Ios,Uitableview,Uiimageview,Uiimage,在我的uitableview中有一个来自Facebook的姓名列表,当用户选择一行时,用户详细信息应该显示在另一个视图中 在我的朋友里 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { long long fbid = [[arrayOfIDs objectAtIndex:indexPath.row]longLongValue]; NSStr

在我的uitableview中有一个来自Facebook的姓名列表,当用户选择一行时,用户详细信息应该显示在另一个视图中

在我的朋友里

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    long long fbid = [[arrayOfIDs objectAtIndex:indexPath.row]longLongValue];

    NSString *user=[NSString stringWithFormat:@"%llu/picture",fbid];

    [facebook requestWithGraphPath:user andDelegate:self];

    FriendDetail *profileDetailPicture = [[FriendDetail alloc] initWithNibName: @"FriendDetail" bundle: nil];


    profileDetailPicture.profileImage.image= transferImage.image;

    profileDetailPicture.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

    [self presentModalViewController:profileDetailPicture animated:YES];

    [profileDetailPicture release];


}

-(void)request:(FBRequest *)request didLoad:(id)result{
    if ([result isKindOfClass:[NSData class]])
    {
       transferImage.image = [[UIImage alloc] initWithData: result];
      // UIImage * sendPicture=[[UIImage alloc] initWithData: result];

        NSLog(@"Profile Picture");
    }
}
这很好,因为如果我在表视图下面放一个uiiamgeview来查看它是否工作,似乎我得到了正确的图像。

但是,当我选择行并尝试将图像发送到其他viewcontroller UIImageview时,请按以下几行执行

FriendDetail *profileDetailPicture = [[FriendDetail alloc] initWithNibName: @"FriendDetail" bundle: nil];


        profileDetailPicture.profileImage.image= transferImage.image;

        profileDetailPicture.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

        [self presentModalViewController:profileDetailPicture animated:YES];
它不会将图像发送到应该显示好友图像的详细视图控制器

我尝试了UIImageView和UIImage两种方法,但都做不到

代码有什么问题

---------编辑----------

所以感谢您的回答,我已经更改了代码,下面的代码很好用

-(void)request:(FBRequest *)request didLoad:(id)result{

    if ([result isKindOfClass:[NSData class]])
    {

       transferImage.image = [[UIImage alloc] initWithData: result];

        FriendDetail *profileDetailPicture = [[FriendDetail alloc] initWithNibName: @"FriendDetail" bundle: nil];

        [profileDetailPicture view];
        profileDetailPicture.profileImage.image= transferImage.image;


        profileDetailPicture.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

        [self presentModalViewController:profileDetailPicture animated:YES];

        [profileDetailPicture release];
        NSLog(@"Profile Picture");
    }
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{


    long long fbid = [[arrayOfIDs objectAtIndex:indexPath.row]longLongValue];

    NSString *user=[NSString stringWithFormat:@"%llu/picture",fbid];

    [facebook requestWithGraphPath:user andDelegate:self];

}

这条线就是问题所在:

profileDetailPicture.profileImage.image= transferImage.image
我假设profileImage是一个IBOutlet?问题是,此时该值将为零,因为尚未加载详图视图控制器的视图


解决此问题的通常方法是将图像存储在详图控制器的成员变量中,然后将其填充到viewDidLoad中profileImage的图像成员中,或者在确保已加载详图视图的其他位置。(例如,如果您要调用
[profileDetailPicture view]
来强制在此行之前加载视图,它应该可以工作。)

公平地说,首先调用-view有点麻烦。我强烈建议采用另一种方法。(例如,如果以后卸载并重新加载视图,则-view方法将失败。)