参考にしたブログ: http://d.hatena.ne.jp/kazukingband/20120302/1330688818
(とても新設に解説してくれていて感謝でした)
◇定義
・データを渡す方の画面: FirstViewクラス
・データを受け取る方の画面: SecondViewクラス
・1stViewにある2ndViewに移動するボタン: Goto2ndView
・FirstViewから渡すデータは(int64_t)型の変数scoreに格納されている値
・
◇方法
1. Goto2ndViewボタンを押したらSecondViewに遷移するように設定(controlキーを押す操作)
その際、「storyboard segue」は「Modal」を選択
また、Identifierに任意の名前(任意とはいえこの名前が重要)
※ここでは、"gosecond"にしておきます
2. FirstViewのmファイル(FirstView.m)にSecondViewのhファイル(SecondView.h)をインポート
(#import "SecondView.h")
3. FirstViewのmファイル(FirstView.m)に以下を追加
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([[segue identifier] isEqualToString:@"gosecond"]){
int64_t score = 1234;
SecondView *svc =[segue destinationViewController];
svc.Data = score;
}
}
「svc.Data」の「Data」がデータ受け渡しのキー変数でSecondView.hで定義する(4参照)
4. SecondViewのhファイル(SecondView.h)でDataを定義する。
@property int64_t Data;
※この時、3でDataの元となるデータの型が同じになっていること
(ここでは、int64_t型)
5. SecondViewのmファイル(SecondView.m)に以下を追加
@synthesize Data;
6. あとは、SecondView.mファイルの中で、変数Dataを使ってデータを受け取る。
こんな感じで
double aa;
aa = labelData/100.0;
NSLog(@"%f",aa);
意外と簡単かなだけど、5を忘れそうかな。