gpt4 book ai didi

ios - 将数据从自定义 TableCell 传递到 ViewController

转载 作者:行者123 更新时间:2023-11-29 03:24:26 25 4
gpt4 key购买 nike

我有一个自定义 Cell 类,其中包含一个 nameLabel 和一个 gameLabel..

@property (nonatomic, strong) IBOutlet UILabel *nameLabel;
@property (nonatomic, strong) IBOutlet UILabel *gameLabel;

这两者都是从用户填写并点击完成的单独 View 上的协议(protocol)填充的。然后这些填充一个 TableView。

为了在我的 tableview 上填充列表,我有这个

 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
PlayerCell *cell = [tableView
dequeueReusableCellWithIdentifier:@"PlayerCell"];

Player *player = [self.players objectAtIndex:indexPath.row];
cell.nameLabel.text = player.name;
cell.gameLabel.text = player.game;

cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cellbg.png"]];

return cell;
}

我的问题是,当填充的 TableViewCELL 被触摸时,我试图让 nameLabel 和 gameLabel 进入 UIViewController,但我收到 SigAbrt 错误。这是我的单独 segues 代码。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"AddPerson")] {
UINavigationController *navigationController = segue.destinationViewController;
PlayerDetailsViewController *playerDetailsViewController =[[navigationController viewControllers] obectAtIndex:0];
playerDetailsViewController.delegate = self;
} else if ([segue.identifier isEqualToString:@"ViewPerson"]) {
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
PlayerProfileViewController *dvc = [segue destinationViewController];
dvc.personName = [players objectAtIndex:indexPath.row];
}

players 是我的 NSMutableArray 和 personName 是我的 NSString,我在我的目标 View Controller 中有相应的标签。最后我得到的 sigabrt 来 self 的目标 View Controller 中的这段代码

 -(void)viewDidLoad {
[super viewDidLoad];
personLabel.text = personName; <-----WHERE THE SIGABRT TAKES ME

任何关于我哪里出错的方向都很好,我还是新手

最佳答案

您在 prepareForSegue 中为 personName 提供了 [players objectAtIndex:indexPath.row] 的值。该对象的类是 Player,而不是 NSString,因此您不能用它设置标签的文本。我怀疑您想要 personName.name(如果您想传递 Player 对象,或者只传递名称而不是 Player 对象,您可能应该将名称更改为 player 或 selectedPlayer)。

关于ios - 将数据从自定义 TableCell 传递到 ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20647232/

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