1

NSURL在课堂上有一个对象ScanViewController并将其传递给ListViewController课堂。

NSURL *url = [NSURL URLWithString:@"http:// some url"];

我在我的项目中使用 xib,找不到替代品

[self.storyboard instantiateViewControllerWithIdentifier:]

[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
{
    if(error || !data)
    {
        NSLog(@"JSON NOT posted");
    }
    else
    {
        NSLog(@"JSON data posted!");
        id jsonObject = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:Nil];

        if([jsonObject respondsToSelector:@selector(objectForKey:)])
        {
            NSDictionary *dictionaryForUserID = [jsonObject valueForKey:@"ProjID"];
            NSLog(@" Project Id = %@", dictionaryForUserID);

            NSURL *urlToDisplayInListView = [NSURL URLWithString:[NSString stringWithFormat:@"http://some url/%@", dictionaryForUserID]]; **//Pass this object to other viewcontroller**

        }
    }
}];
4

1 回答 1

5

我假设您正在执行从一个 VC 到另一个 VC 的转换。如果是这样,您可以在您的prepareForSegue:sender:方法中执行此操作:

if ([segue.identifier isEqualToString:@"segueToListViewController"]) {
    [(ListViewController *)segue.destinationViewController setURL:[NSURL URLWithString:@"http:// some url"]];
}

您必须在目标 VC 中声明一个属性来处理 URL,并且您需要一个访问器方法来设置该属性。

编辑

正如 danypata 建议的那样,如果您不使用 segues,请尝试以下操作

ListViewController *listViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"ListViewControllerIdentifier"];
[listViewController setURL:[NSURL URLWithString:@"http:// some url"]];
[self presentViewController:listViewController animated:YES completion:nil];
于 2013-08-20T10:01:31.600 回答