4月ぐらいにスライドで見ていいなーと思ったんだけど、最近初めて使ってみてやはり便利だったので整理しておく。
余談だけどスライドでみたときはTKRIntentって名前だったんだけど、わかりやすさのために名前変えたんですかね。
どんなときに便利かっていうと、個人的にはテーブルビューでセルを選択して次の画面に行きたいときに、選択したセルに関連する情報とかを次のViewControllerに渡したいときかなと思う。
TKRSegueOptionsを使わないときは、ViewControllerを生成してidを渡して画面遷移するっていうやり方をしてた気がする。もっとスマートな方法があったかもしれないが。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MyViewController* viewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
viewController.index = indexPath.row;
[self.navigationController pushViewController:viewController animated:YES];
}
これがTKRSegueOptionsを使うとこんな感じでいける。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"Design" options:@{@"id":[NSNumber numberWithInteger:indexPath.row]}];
}
画面遷移自体はStoryboardでくっつけたSegueをIdentifier経由で呼べばよくて、移動先でself.segueOptions[@"index"];
みたいに取り出すことができる。
これSDK標準でやって欲しいぐらい便利。使わない手はない。