Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.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
在一段时间间隔后,将当前视图控制器Dissmiss返回到MainView控制器IOS 7_Ios_Iphone_Objective C_Uiviewcontroller - Fatal编程技术网

在一段时间间隔后,将当前视图控制器Dissmiss返回到MainView控制器IOS 7

在一段时间间隔后,将当前视图控制器Dissmiss返回到MainView控制器IOS 7,ios,iphone,objective-c,uiviewcontroller,Ios,Iphone,Objective C,Uiviewcontroller,您好,在我的应用程序中,我正在将图像从我的设备上传到服务器,一切正常,但现在我遇到了一些问题。上传图像后,必须自动返回主视图控制器。它不起作用,请告诉我怎么做 上传编码 NSString *urlString = @"url"; NSMutableURLRequest *request = [[[NSMutableURLRequest alloc]init]autorelease]; [request setURL:[NSURL URLWithString:urlStr

您好,在我的应用程序中,我正在将图像从我的设备上传到服务器,一切正常,但现在我遇到了一些问题。上传图像后,必须自动返回主视图控制器。它不起作用,请告诉我怎么做

上传编码

    NSString *urlString = @"url";

    NSMutableURLRequest *request = [[[NSMutableURLRequest alloc]init]autorelease];
    [request setURL:[NSURL URLWithString:urlString]] ;
    [request setHTTPMethod:@"POST"];

    NSString *boundary = @"---------------------------14737809831466499882746641449";
    NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
    [request addValue:contentType forHTTPHeaderField:@"Content-Type"];

    NSMutableData *body = [NSMutableData data];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary]dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"Content-Disposition: form-data; name=\"userfile\"; filename=\".jpg\"\r\n"dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[@"Content-Type: application/octet-stream\r\n\r\n"dataUsingEncoding:NSUTF8StringEncoding]];
    [body appendData:[NSData dataWithData:imageData]];
    [body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n", boundary]dataUsingEncoding:NSUTF8StringEncoding]];
    [request setHTTPBody:body];

    NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
    NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];

    NSLog(@"%@data",returnString);


    **[self performSelector:@selector(dissMissViewController) withObject:self afterDelay:2.0f];**  
取消编码

     - (void)dissMissViewController
  {
   [self.navigationController popViewControllerAnimated:YES];
   [self dismissViewControllerAnimated:YES completion:nil];
  }
上传后,我想回到我的主视图控制器,请告诉我这是正确的方法。是否有其他方法可以做到这一点


谢谢。

首先,您必须知道图像上载是否成功,在成功时,您需要关闭并弹出到主viewcontroller,如下所示:-

-(void)dissMissViewController
  {
    [self dismissViewControllerAnimated:YES completion:^{
    [self.navigationController popViewControllerAnimated:YES];}];
  }
您还可以弹出特定的视图控制器,如:-

for (UIViewController *controller in [self.navigationController viewControllers])
{
    if ([controller isKindOfClass:[yourviewcontroller class]])
    {
        [self.navigationController popToViewController:controller animated:YES];
        break;
    }
}
[self.navigationController popToRootViewControllerAnimated:YES]
您还可以使用下面这行代码弹出一个rootviewcontroller:-

for (UIViewController *controller in [self.navigationController viewControllers])
{
    if ([controller isKindOfClass:[yourviewcontroller class]])
    {
        [self.navigationController popToViewController:controller animated:YES];
        break;
    }
}
[self.navigationController popToRootViewControllerAnimated:YES]

注意:在DismissViewcontroller的完成块中使用此pop代码

首先您应该使用异步方法,因为当前您正在主线程中执行此操作

使用连接的委托方法将数据发送到服务器, 并使用连接的委托方法
connectiondFinishLoading
获取已成功上载图像的通知

或者试试这个

- (void)connectionDidFinishLoading:(NSURLConnection *)connection{

[self dismissViewControllerAnimated:YES completion:^{
    [self.navigationController popViewControllerAnimated:YES];}];

}

请告诉我如何回到我的主要观点controller@Nintin我在我的dismissview控制器中使用了[self.navigationController popToRootViewControllerAnimated:YES]它不工作我不知道y@Nitin您正在使用故事板吗?请尝试
popToRootViewController
方法