0

我有以下 3 种使用情节提要的方法,其中我有一个“segue”从“查看电影信息”按钮连接到我的下一个视图。标识符是“网络”

当我单击按钮时,我调用此方法: (IBAction)synopsis:(id)sender 然后此方法调用 -> (void)fetcheMovie:(NSData *)responseData 然后它应该转到 (void)prepareForSegue:(UIStoryboardSegue * )segue 发件人:(id)jason

在 prepareforsegue 方法上,我在“jsonSendetAsParamInPerformSegue”上放置了一个 nsslog,我得到了两个日志

1:UIRoundedRectButton:0x9595c60;帧 = (11 322; 298 44); 不透明=否;自动调整大小 = TM+BM;层=CALayer:0x9595d30

2->我的 json 结果(我所期望的)

在下面我得到了这个: 2013-05-09 18:55:06.185drigo[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;
}
4

1 回答 1

1

您应该将 segue 从源 ViewController 连接到目标 ViewController,不要从按钮连接它。

如果您从按钮连接它,当您单击按钮时,它会执行 segue(发送者是按钮),然后在您的代码中再次调用 perform segue,这就是错误的原因。

于 2013-05-10T02:23:20.577 回答