PrepareForSegue问题

时间:2013-05-10 02:02:36

标签: ios xcode

我使用故事板下面有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;
}

1 个答案:

答案 0 :(得分:1)

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

如果你从按钮连接它,当你点击按钮时,它会执行segue(发送者是按钮),然后在你的代码中你再次调用执行segue,这就是为什么它是错误的。