我使用故事板下面有3种方法,我从“查看电影信息”按钮到我的下一个视图有一个“segue”连接。标识符是“web”
当我点击按钮时,我调用此方法: (IBAction)简介:(id)发送者然后这个方法调用 - > (void)fetcheMovie:(NSData *)responseData然后它应该转到(void)prepareForSegue:(UIStoryboardSegue *)segue发送者:(id)jason
在prepareforsegue方法上,我在“jsonSendetAsParamInPerformSegue”上放了一个nsslog,我得到两个日志
1:UIRoundedRectButton:0x9595c60; frame =(11 322; 298 44); opaque = NO; autoresize = TM + BM; layer = CALayer:0x9595d30
2->我的json结果(我期待的)
以下我得到这个: 2013-05-09 18:55:06.185 drigo [840:c07]嵌套推送动画可导致导航栏损坏 对开始/结束外观转换的不平衡调用。 在意外状态下完成导航过渡。导航栏子视图树可能已损坏。
我需要从json中获取一个值并将其传递给我的下一个视图
方法如下..请帮助..我已经被困了几天
- (IBAction)synopsis:(id)sender {
NSString *urlString = [NSString stringWithFormat:@"http://api.themoviedb.org/3/movie/%@?api_key=34eb86f3b94de2676e8d3007b5ce1993",movieid];
dispatch_async(kBgQueue, ^{
NSURL *url = [NSURL URLWithString:urlString];
NSData* data = [NSData dataWithContentsOfURL:url];
[self performSelectorOnMainThread:@selector(fetcheMovie:)withObject:data waitUntilDone:NO];
});
}
- (void)fetcheMovie:(NSData *)responseData {
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
news = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error];
[self performSegueWithIdentifier:@"web" sender:news];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)jason {
NSError* error;
NSDictionary *jsonSendetAsParamInPerformSegue = (NSDictionary*)jason;
NSLog(@"%@",jsonSendetAsParamInPerformSegue);
//WebViewController *targetVC = (WebViewController*)segue.destinationViewController;
//targetVC.newsArticles = jsonSendetAsParamInPerformSegue;
}
答案 0 :(得分:1)
您应该将segue从源ViewController连接到目标ViewController,不要从按钮连接它。
如果你从按钮连接它,当你点击按钮时,它会执行segue(发送者是按钮),然后在你的代码中你再次调用执行segue,这就是为什么它是错误的。