UItableViewでUITableCellの選択時に別ページに移動
1.移動させたいページ同士をstoryboardで結ぶ。(modal)
2.segueにID設定する
3.ViewController.m
- (void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[self performSegueWithIdentifier:@"設定したsegueのID" sender:self];
}
移動先ページから戻るボタンで元ページに戻る
1.ViewController.m 移動元に関数設置する
//戻る用メソッド
- (IBAction)returnMainView:(UIStoryboardSegue *)segue
{
;
}
2.移動先のページから戻る時はstoryboard上からUIButtonとexitを結びつける-
- exitに関数がでないときはxcodeを再起動させると出る
別のviewcontrollerにパラメーターを渡す
文字列でも配列でもハッシュでも何でも渡せる。
渡したいときは3つのファイルをいじる。
1.ViewController.m
- importに渡す先のヘッダーを入れる
- 変数を設定する
#import "detailPage.h"
...
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([[segue identifier] isEqualToString:@"toSecondPage"]) {
//遷移先にデータをパラメーターを渡す
NSIndexPath *indexPath = [_myTableView indexPathForSelectedRow];
detailPage *vc = [segue destinationViewController];
//NSStringを渡す
vc.receiveString = items[indexPath.row];
//NSArrayを渡す
vc.receiveArray = @[@"a",@"b",@"c"];
//NSDictionaryを渡す
vc.receiveDict = @{@"key":@"unko",@"key2":@"value2"};
}
}
2.SecondPage.h
@property NSString *receiveString; @property NSArray *receiveArray; @property NSDictionary *receiveDict; @end
3.SecondPage.m
...
@synthesize receiveString;
@synthesize receiveArray;
@synthesize receiveDict;
...
- (void)viewDidLoad
{
[super viewDidLoad];
..
NSLog(@"string=[%@]",receiveString);
NSLog(@"array=[%@]",receiveArray[0]);
NSLog(@"dictionary=[%@]",receiveDict[@"key"]);
..
}