この関数を使用して、Xcode4.3のビューを切り替えています。
[self performSegueWithIdentifier:@"NextView" sender:self];
ページ間でいくつかのパラメータを渡したいのですが。どうやってやるの?
performSegueWithIdentifier:sender:
の後、ViewControllerはを呼び出します
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
新しいViewControllerに設定するプロパティがいくつかあると仮定します。
if ([[segue identifier] isEqualToString:@"NextView"]) {
MyViewController *myVC = [segue destinationViewController];
myVC.propertyToSet = // set your properties here
}
この質問には、ViewController間でデータを渡すことについての非常に優れた正しい説明があります。
これがPfitzからの回答ですが、Objective-Cを初めて使用する人にとっては、例を使用して少しわかりやすくしました。
DestinationViewController.hファイルで、変数のプロパティ設定を追加して、ソースcontroller.mファイルから値を「受信」します。
@property (nonatomic) int billIdReceivingVote;
DestinationViewController.hをsourceViewController.mファイルにインポートします。
// VOLViewController.m
#import "VOLVoteViewController.h
SourceViewController.mファイルにprepareForSegue
メソッドを追加し、変数を渡します
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
VOLVoteViewController *myDestinationViewController = [segue destinationViewController];
// myDestinationViewController.variable = sourceViewController variabe
myDestinationViewController.billIdReceivingVote = [self.idOfBillSelected intValue];
}