我尝试在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当前返回我需要的值。
如何将该数据发送到下一个视图控制器?
问候..
答案 0 :(得分:3)
声明属性
@property (nonatomic, strong)NSString *userFulName;
<{1>}文件中的。在准备segue方法
UserDetails.h
然后在你的下一个视图控制器的UD.userFulName = self.userFullNameString;
(即UserDetails)
viewDidLoad