尝试单击我的应用程序中的segueway时,出现以下调试消息。
"SmokingPig[13840:c07] -[UIViewController setDetailModal:]: unrecognized selector sent to instance 0x75836c0"
这是我的TableViewController.m文件(或我认为至少被弄乱的部分)
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([[segue identifier] isEqualToString:@"ShowDetails"]) {
DetailViewController *detailviewcontroller = [segue destinationViewController];
NSIndexPath *myIndexPath = [self.tableView indexPathForSelectedRow];
int row = [myIndexPath row];
detailviewcontroller.DetailModal = @[_Title[row], _Description[row]];
}
这是我的DetailViewController.h文件
#进口
@interface DetailViewController : UIViewController
@property (strong, nonatomic) IBOutlet UILabel *TitleLabel;
@property (strong, nonatomic) IBOutlet UILabel *DescriptionLabel;
@property (strong, nonatomic) NSArray *DetailModal;
@end
最佳答案
segue指向通用UIViewController
的实例,而不是您的DetailViewController
的实例。如果在IB中描述了segue,请在segue的目标端选择视图控制器,然后使用身份检查器(左起第三个检查器)并确保将自定义类设置为DetailViewController。
您也可能在此行上收到警告:
DetailViewController *detailviewcontroller = [segue destinationViewController];
通过强制修复:
DetailViewController *detailviewcontroller = (DetailViewController *)[segue destinationViewController];
关于ios - 无法识别的选择器已发送到setDetailModal的实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24375841/