私は自分のTableViewで選択した行iに従ってDetailViewControllerにデータを送信しようとしています。私のプロジェクトはStoryBoardで作られています。didSelectedRowAtIndexPath - prepareForSegue - ストーリーボード
マイTableViewCellがよく私のMainStoryBoardの私のUIViewにリンクされている、すべてが正常に私は私のDetailViewここ
に選択された行の情報を送信する方法を知らないことを期待している私が持っているものです。
「:送信者:performSegueWithIdentifier」- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSUInteger section = [indexPath section];
NSUInteger row = [indexPath row];
NSUInteger oldRow = [lastIndexPath row];
NSString *key = [keys objectAtIndex:section];
detailRow = [names objectForKey:key];
static NSString *SectionsTableIdentifier = @"SectionsTableIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:SectionsTableIdentifier];
if (cell == nil)
{
CGRect cellFrame = C
GRectMake(0, 0, 300, 65);
cell = [[UITableViewCell alloc] initWithFrame:cellFrame] ;
}
CGRect nameLabelRect = CGRectMake(200, 5, 200, 15);
UILabel *nameLabel = [[UILabel alloc] initWithFrame:nameLabelRect];
nameLabel.tag = kNameValueTag;
[cell.contentView addSubview: nameLabel];
UILabel *name = (UILabel *)[cell.contentView viewWithTag:kNameValueTag];
name.text = [[detailRow objectAtIndex:row] valueForKey:@"name"];
cell.imageView.image = [UIImage imageNamed:[[detailRow objectAtIndex:row] valueForKey:@"image"]];
cell.accessoryType = (row == oldRow && lastIndexPath != nil) ?
UITableViewCellAccessoryCheckmark : UITableViewCellAccessoryNone;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"DetailGrandComptes" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"DetailGrandComptes"])
{
// HERE IS WHERE THE CODE SHOULD BE I GUESS.... !! I HAVE TO DISPLAY AN UIIMAGEVIEW + UILABEL + UIIMAGEVIEW
}
}
は、私はちょうど、私の答えを投稿ではなく、すべてのもの:P – user1256827
@ user1256827私の答えの編集を参照してください... – Francesco
このソリューションは、正しくprepareForSegueを使用していません。送信者は、他の情報ではなく、セグを開始するView Controllerでなければなりません。 prepareForSegueに達する前にdeselectRowAtIndexPathが呼び出されていないことを確認し、tableViewでindexPathForSelectedRowを使用できます。 – Johannes