質問: [self.tableView cellForRowAtIndexPath:[self.tableView indexPath ForSelectedRow]].textLabel.text; } } ``` でやったところセル内に標準の1つだとできたのですが 複数のLabelを使った際のそのうち1つの取り出し方がわかりません。 Tagなどを使うのでしょうか。その際はどのように書くのでしょうか。 どなたかわかる方がいましたら宜しくお願いします。
回答: storyboard側でタグを設定すれば下記でそれぞれのUILabelを取得できます。 ``` - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:@"showSubject"]) { UITableViewCell* cell = [self.tableView cellForRowAtIndexPath:[self.tableView indexPathForSelectedRow]]; UILabel* label = (UILabel *)[cell viewWithTag:tagNo]; naviTitle.title = label.textLabel.text; } } ``` ただ、カスタムセルのクラスを作ってあげればもっときれいに各要素を操作できるので、そちらの方がおすすめです。 上記の方法だと要素の追加でタグの修正が発生したり、タグを間違えたりするので・・・。 カスタムセルを使った場合のイメージ ``` - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue identifier] isEqualToString:@"showSubject"]) { CustomeCell* cell = [self.tableView cellForRowAtIndexPath:[self.tableView indexPathForSelectedRow]]; // タイトルを取得 naviTitle.title = [cell getTitle]; } } ```