0

「ムービー情報を表示」ボタンから次のビューに「セグエ」接続するストーリーボードを使用して、以下の 3 つの方法があります。識別子は「web」

ボタンをクリックすると、このメソッドが呼び出されます: (IBAction)synopsis:(id)sender 次に、このメソッドは -> (void)fetcheMovie:(NSData *)responseData を呼び出し、(void)prepareForSegue:(UIStoryboardSegue * )segue 送信者:(id)jason

prepareforsegue メソッドで、「jsonSendetAsParamInPerformSegue」に nsslog を置き、2 つのログを取得します

1: UIRoundedRectButton: 0x9595c60; フレーム = (11 322; 298 44); 不透明 = いいえ; 自動サイズ変更 = TM+BM; レイヤー = CALayer: 0x9595d30

2->私のjsonの結果(私が期待するもの)

2013-05-09 18:55:06.185 drigo[840:c07] ネストされたプッシュ アニメーションにより、ナビゲーション バーが破損する可能性があります。予期しない状態でのナビゲーション遷移の終了。ナビゲーション バーのサブビュー ツリーが破損する場合があります。

json から値の 1 つを取得し、それを次のビューに渡す必要があります。

方法は以下のとおりです..助けてください..私はこれで数日間立ち往生しています

- (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

ソースViewControllerから宛先ViewControllerにセグエを接続する必要があります。ボタンから接続しないでください。

ボタンから接続すると、ボタンをクリックするとセグエが実行され(送信者はボタンです)、コードでセグエを再度呼び出します。これが間違っている理由です。

于 2013-05-10T02:23:20.577 に答える