0

大家好,我无法理解这一点,所以我正在寻求您的帮助。在这里...我正在为 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

所以......我不明白问题出在哪里设置属性。显然我错过了一些东西......我希望这对你来说很清楚,非常感谢你的帮助!

4

1 回答 1

6

错误信息

-[UITableViewController setDetails:]: unrecognized selector ...

表明这detailViewController不是AppTestDetailViewController您期望的实例,而是“仅” a UITableViewController

一个可能的原因可能是您没有在情节提要文件中为控制器设置“自定义类”。

于 2013-09-03T15:31:06.687 回答