使用模态segue将数据传递到下一个视图控制器

时间:2013-06-26 18:32:20

标签: ios storyboard uistoryboardsegue

我尝试在Storyboard中使用modal segue从didSelectRowAtIndexPath推送用户数据并将其发送到下一个View Controller。

这是我的代码:

在我的标题文件中:

@interface ListNearby : UIViewController<UITableViewDataSource,UITableViewDelegate,CLLocationManagerDelegate,UINavigationControllerDelegate,UINavigationBarDelegate>

{
   @public
   UserDetails *UD;
}

我的.m文件:

ResultNearbyList *cell = (ResultNearbyList *) [tableView cellForRowAtIndexPath:indexPath];

self.userFullNameString = cell.userFullName.text;

NSLog(@"FulluserName NextVC = %@",self.userFullNameString);

[self performSegueWithIdentifier:@"sendUserData" sender:self];

我正在准备segue将数据传递给下一个视图控制器:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    if ([[segue identifier] isEqualToString:@"sendUserData"]) {

        UD = (UserDetails *) segue.destinationViewController;

        UD.userFullName.text = self.userFullNameString;

        NSLog(@"FulluserName Segue = %@",UD.userFullName.text);

        NSLog(@"FulluserName Current = %@",self.userFullNameString);

    }
}

Segue,显示NextViewController没有任何问题。问题是userFullNameString没有发送到NextViewController。我正在检查NSLog,而FulluserName Segue返回null,FulluserName当前返回我需要的值。

如何将该数据发送到下一个视图控制器?

问候..

1 个答案:

答案 0 :(得分:3)

声明属性

@property (nonatomic, strong)NSString *userFulName;
<{1>}文件中的

。在准备segue方法

UserDetails.h

然后在你的下一个视图控制器的UD.userFulName = self.userFullNameString; (即UserDetails)

viewDidLoad