我在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**
}
}
}];
答案 0 :(得分:5)
我假设您正在从一个VC到另一个VC执行segue。如果是这样,您可以使用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];