大家好,我无法理解,所以我正在寻找你的帮助。 这是...我正在为iOS的故事板工作,在prepareForSegue方法期间,我正在尝试设置将被加载的viewcontroller的属性。
就在这里,我得到一个指向main.m中心线的崩溃,这里是消息:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewController setDetails:]: unrecognized selector sent to instance 0x8880b80'
这是方法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];
}
}
嗯.. 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
所以......我无法理解设置属性的问题所在。 显然我错过了一些东西...... 我希望你们清楚这一点,并感谢你们的帮助!
答案 0 :(得分:5)
错误消息
-[UITableViewController setDetails:]: unrecognized selector ...
表明detailViewController
不是您所期望的AppTestDetailViewController
的实例,而是“仅”UITableViewController
。
一个可能的原因可能是您没有为控制器设置“自定义类” 在故事板文件中。