コメントで、36 セルのセクションが 1 つしかないと述べたように、こんにちは。を使用してrendom行を見つけますarc4random
。
indexPath
次に、 from セクションと行をフェッチします。
それから電話するdidSelectRowAtIndexPath
ボタンクリックメソッドのコード全体は次のようになります....
int section = 0;
int row = arc4random() %35;
NSIndexPath * path = [NSIndexPath indexPathForRow:row inSection:section];
if ([self.yourTableView.delegate respondsToSelector:@selector(tableView:willSelectRowAtIndexPath:)]) {
[self.yourTableView.delegate tableView:self.yourTableView willSelectRowAtIndexPath:path];
}
[self.yourTableView selectRowAtIndexPath:path animated:YES scrollPosition: UITableViewScrollPositionNone];
if ([self.yourTableView.delegate respondsToSelector:@selector(tableView:didSelectRowAtIndexPath:)]) {
[self.yourTableView.delegate tableView:self.yourTableView didSelectRowAtIndexPath:path];
}
次に実装didSelectRowAtIndexPath
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
UIButton * btn = [UIButton buttonWithType:UIButtonTypeCustom];
btn.tag = indexPath.row;
[self performSegueWithIdentifier:@"showRecipeDetail" sender:btn];
}
に次のコードが記述されていることを確認してくださいviewDidLoad
self.yourTableView.delegate = self;
self.yourTableView.dataSource = self;
そしてprepareForSegue
、以下のようにメソッドを変更します
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"showRecipeDetail"]) {
RecipeDetailViewController *destViewController = [segue destinationViewController];
NSInteger tagIndex = [(UIButton *)sender tag];
destViewController.recipe = [recipes objectAtIndex:tagIndex];
}
}
これはきっとあなたを助けるでしょう.....