gpt4 book ai didi

ios - 在 UITableViewCell 中按下按钮后将数据传递到新 View

转载 作者:行者123 更新时间:2023-11-28 22:02:46 25 4
gpt4 key购买 nike

我无法弄清楚如何将 UITableViewCell 中的信息传递到按下“您的游戏”按钮后出现的 View 。每个单元格都有与之关联的属性字符串 gameId,它对每个单元格都是唯一的,也是我想传递的信息:

以下代码显示了单元格的创建。 NSLog 语句在测试期间输出正确的 gameId:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"gameCell";
GameCell *cell = (GameCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

PFObject *myPartners = [self.games objectAtIndex:indexPath.row];
cell.partnerName.text = [myPartners objectForKey:@"receiverName"];
cell.gameId = myPartners.objectId;
NSLog(@"Cell game: %@",cell.gameId);
return cell;
}

在 GameCell 类中,以下方法用于更改 View 并传递 gameId:它将 CameraViewControllers 属性“gameObjectId”设置为“gameId”

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"showCamera"]){
CameraViewController *cameraView = (CameraViewController *)segue.destinationViewController;
cameraView.gameObjectId = self.gameId;
[segue.destinationViewController setHidesBottomBarWhenPushed:YES];
}
}

但是当 View 加载时,gameObjectId 值为空。

有人可以帮我解决这个问题吗?


gameObjectId 在 CameraViewController 类中为:

@property (strong,nonatomic) NSString *gameObjectId;

gameId 在 GameCell 类中为:

@property (strong,nonatomic) NSString *gameId;

enter image description here

enter image description here

最佳答案

你不能把 prepareForSegue 放在你的单元类中;它是一个 UIViewController 方法,因此如果您的单元格类中有它,它就不会被调用。您需要将其移动到您的 View Controller ,并使用 sender 参数(这将是您触摸的单元格)来获取 indexPath。使用 indexPath,您可以查询您的数组以获取要传递的值——您不应该从单元格中获取值,您应该从您的模型中获取值。

关于ios - 在 UITableViewCell 中按下按钮后将数据传递到新 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24716654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com