Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.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_Cocoa Touch_Connection - Fatal编程技术网

iphone开发:与服务器通信并推送到另一个视图

iphone开发:与服务器通信并推送到另一个视图,iphone,ios,objective-c,cocoa-touch,connection,Iphone,Ios,Objective C,Cocoa Touch,Connection,假设我有两个ViewControllerA和ViewControllerB。我所做的是,当按下viewControllerA中的按钮时,本地服务器返回一个值,我将其存储在变量“user”中。之后,我将这个变量传递给viewControllerB 实际上,我可以成功地完成这两个过程,但不能同时完成。我的意思是我可以从服务器接收响应并将其存储在字符串变量中。我使用委托方法完成此操作: - (void)connectionDidFinishLoading:(NSURLConnection *)con

假设我有两个ViewControllerA和ViewControllerB。我所做的是,当按下viewControllerA中的按钮时,本地服务器返回一个值,我将其存储在变量“user”中。之后,我将这个变量传递给viewControllerB

实际上,我可以成功地完成这两个过程,但不能同时完成。我的意思是我可以从服务器接收响应并将其存储在字符串变量中。我使用委托方法完成此操作:

 - (void)connectionDidFinishLoading:(NSURLConnection *)connection 
所以这方面没有问题

另一方面,我还可以使用以下命令将变量从viewControllerA传递给viewControllerB:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if([segue.identifier isEqualToString:@"vcSegue"]){
        ViewControllerB *controller = (ViewControllerB *)segue.destinationViewController;
        controller.stringVariable = @"content of the string";
    }
}

我的想法是,当我想将服务器上的字符串变量传递给viewControllerB时,我会遇到一个问题,即变量为null。那么我如何控制推送动作呢?因为我理解的是
-(void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender
应该在
-(void)connectiondifinishload:(NSURLConnection*)connection之后工作,我的意思是,我应该成功地从服务器获得响应,然后执行推送操作,但我不知道怎么做。谢谢任何帮助。

您可能想考虑允许ViewController B通过传递ID并允许它自己调用来加载自己的详细数据。您可以在加载数据时显示进度HUD

如果要传递标识符,可以使用自定义初始化函数:

- (id)initWithEvent: (NSString *) identifier
{
    self = [super init];
    if (self) {
        // Custom initialization
        theIdentifier = identifier;                
     }
      return self;
}