大家好,我无法理解这一点,所以我正在寻求您的帮助。在这里...我正在为 iOS 制作故事板,在 prepareForSegue 方法期间,我试图设置将被加载的视图控制器的属性。
就在这里,我得到一个指向 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 项的数组。像这样在 AppTestDetailViewController.h 中声明 details 属性的位置
#import <UIKit/UIKit.h>
#import "Details.h"
#import "DetailCell.h"
@interface AppTestDetailViewController : UITableViewController
@property (strong, nonatomic) Details *details;
@end
所以......我不明白问题出在哪里设置属性。显然我错过了一些东西......我希望这对你来说很清楚,非常感谢你的帮助!