Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.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 无法在情节提要上将值从一个视图控制器传递到另一个视图控制器_Iphone_Ios_Objective C - Fatal编程技术网

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中的一件小事,这就是为什么你不能在导航中获得价值——试着自己去发现它,这很简单