无法识别的选择器发送到实例并在iOS应用程序中的main.m中崩溃

0 properties objective-c selector ios segue

大家好,我无法理解,所以我正在寻找你的帮助.这是...我正在为iOS的故事板工作,在prepareForSegue方法期间,我正在尝试设置将被加载的viewcontroller的属性.

就在这里,我得到一个指向main.m中心线的崩溃,这里是消息:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewController setDetails:]: unrecognized selector sent to instance 0x8880b80'
Run Code Online (Sandbox Code Playgroud)

这是方法prepareForSegue,我最终在异常后寻找错误:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString: @"cellSegue"])
  {
    AppTestDetailViewController *detailViewController = [segue destinationViewController];
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
    detailViewController.details = self.detailsList[indexPath.row];
  }
}
Run Code Online (Sandbox Code Playgroud)

嗯.. self.detailsList只是一个Details项的数组.其中details属性是在AppTestDetailViewController.h中声明的

#import <UIKit/UIKit.h>
#import "Details.h"
#import "DetailCell.h"


@interface AppTestDetailViewController : UITableViewController

@property (strong, nonatomic) Details *details;

@end
Run Code Online (Sandbox Code Playgroud)

所以......我无法理解设置财产的问题所在.显然我错过了一些东西......我希望你能清楚这一点,非常感谢你的帮助!

Mar*_*n R 5

错误消息

-[UITableViewController setDetails:]: unrecognized selector ...
Run Code Online (Sandbox Code Playgroud)

表明这detailViewController不是AppTestDetailViewController你期望的实例,而是"仅"a UITableViewController.

一个可能的原因可能是您未在故事板文件中为控制器设置"自定义类".