Iphone 无法在情节提要上将值从一个视图控制器传递到另一个视图控制器
我在从我的Iphone 无法在情节提要上将值从一个视图控制器传递到另一个视图控制器,iphone,ios,objective-c,Iphone,Ios,Objective C,我在从我的Loginviewcontroller调用WSLogin类时遇到问题。并且它成功地返回了用户的sessionId。然后我将这个sessionId存储到字符串中,并将这个值发送到Searchviewcontroller,但没有成功地将值提交到Searchviewcontroller 成功登录后,我通过选项卡栏控制器移动到Searchviewcontroller。我在searchviewcontroller中生成NSLog,在成功登录后点击searchtabbar检查会话值,然后点击NSL
Loginviewcontroller
调用WSLogin
类时遇到问题。并且它成功地返回了用户的sessionId。然后我将这个sessionId存储到字符串中,并将这个值发送到Searchviewcontroller
,但没有成功地将值提交到Searchviewcontroller
成功登录后,我通过选项卡栏控制器移动到Searchviewcontroller
。我在searchviewcontroller
中生成NSLog
,在成功登录后点击searchtabbar
检查会话值,然后点击NSLog session id=null
返回给我,请告诉我如何解决此问题
这是密码
// LoginViewController.m file
-(IBAction)Login:(id)sender
{
wsobject = [[WSLogin alloc] init];
sessId = wsobject.sessionId;
NSLog(@"sessionidd = %@",sessId);
// it successfully return session id
}
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
SearchViewController *afc = (SearchViewController *) segue.destinationViewController;
afc.sessionId = sessId;
// i have create sessionId property in SearchViewController
}
// SearhViewController.m file
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"sessionId = %@",sessionId);
//printing sessionId value but getting Null here when click on Searhtabbar
}
我想你已经准备好了同样的程序,身份检查员给了它一个名字,说“goToNextView”。现在,将下面的代码放在跳转到下一个视图控制器的位置
-(IBAction)methodName:(id)sender
{
[self performSegueWithIdentifier:@"goToNextView" sender:self];
}
然后在您的代码中修改如下的segue委托方法
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"goToNextView"]) {
DestinatonViewController *controller = segue.destinationViewController
// set the properties value you want for destination View Controller
controller.propertyName = yourValue;
希望这会有所帮助。您可以发布LoginViewController和SearchViewController的属性声明吗?是的,我已经为LoginViewController中的sessionId和中的sessionId声明了属性searchviewcontroller@property(非原子,保留)NSString*sessId@属性(非原子,保留)NSString*sessionId;在创建应用程序的过程中,你错过了appdelegate中的一件小事,这就是为什么你不能在导航中获得价值——试着自己去发现它,这很简单