gpt4 book ai didi

ios - 无法识别的选择器发送到实例并崩溃

转载 作者:行者123 更新时间:2023-11-28 18:10:15 26 4
gpt4 key购买 nike

我在 xcode 中使用 Storyboard,在 prepareForSegue 方法期间它崩溃了。我想要做的是在单击一个单元格后从一个表格 View 转到另一个详细的表格 View 。这是代码。

GamesInfoViewController.m

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([[segue identifier] isEqualToString:@"ShowDetails"]) {
DetailViewController2 *detailViewController = [segue destinationViewController];

NSIndexPath *myIndexPath = [self.tableView indexPathForSelectedRow];

NSUInteger row = [myIndexPath row];
GameInfo *gameInfoObject;

gameInfoObject =[GamesInfoArray objectAtIndex:row];
detailViewController.DetailArray = @[gameInfoObject.HomeTeam, gameInfoObject.AwayTeam]; // IT CRASHES HERE!!!
}

}

这里是 DetailViewController2.m

- (void)viewDidLoad {
[super viewDidLoad];

// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;

// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;

[self.tableView reloadData];
}


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

cell.mainLabel.text = _DetailArray[0];
cell.awayTeamLabel.text = _DetailArray[1];

// Configure the cell...

return cell;

DetailViewController2.h

#import <UIKit/UIKit.h>

@interface DetailViewController2 : UITableViewController

@property (strong, nonatomic) NSArray *DetailArray;
@end

是的,我选择了 DetailViewController2 作为 Storyboard中的自定义类!!!

错误消息:'NSInvalidArgumentException',原因:'-[UINavigationController setDetailArray:]: 无法识别的选择器发送到实例 0x7fa65a537f00'

最佳答案

好像是这一行

DetailViewController2 *detailViewController = [segue destinationViewController];

返回 UINavigationController 而不是 DetailViewController2

如果 DetailViewController2 嵌入到 UINavigationController 中,您可能想要执行以下操作:

UINavigationController *navController = [segue destinationViewController];
DetailViewController2 *detailViewController = (DetailViewController2 *)navController.topViewController;

如果 DetailViewController2UINavigationController 的子类,您可能忘记在 Storyboard 中明确说明。

关于ios - 无法识别的选择器发送到实例并崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26180681/

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