无法识别的选择器发送到实例并在iOS应用程序中的main.m中崩溃
大家好,我不能理解这一点,所以我正在寻求你们的帮助。 这是。。。我正在为iOS编写故事板,在prepareForSegue方法期间,我试图设置将要加载的viewcontroller的属性 就在这里,我看到一个撞击点指向main.m的中心线,下面是消息:无法识别的选择器发送到实例并在iOS应用程序中的main.m中崩溃,ios,objective-c,properties,selector,segue,Ios,Objective C,Properties,Selector,Segue,大家好,我不能理解这一点,所以我正在寻求你们的帮助。 这是。。。我正在为iOS编写故事板,在prepareForSegue方法期间,我试图设置将要加载的viewcontroller的属性 就在这里,我看到一个撞击点指向main.m的中心线,下面是消息: *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITableViewController setDetails:]:
*** 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中声明,如下所示
#import <UIKit/UIKit.h>
#import "Details.h"
#import "DetailCell.h"
@interface AppTestDetailViewController : UITableViewController
@property (strong, nonatomic) Details *details;
@end
#导入
#导入“Details.h”
#导入“DetailCell.h”
@接口AppTestDetailViewController:UITableViewController
@属性(强、非原子)详细信息*详细信息;
@结束
所以。。。我不明白设置属性的问题出在哪里。
很明显我错过了什么。。。
我希望你明白这一点,并感谢你的帮助很多 错误消息
-[UITableViewController setDetails:]: unrecognized selector ...
显示detailViewController
不是您期望的AppTestDetailViewController
的实例,而是“仅”一个UITableViewController
一个可能的原因可能是您没有为控制器设置“自定义类”
在脚本文件中。错误消息
-[UITableViewController setDetails:]: unrecognized selector ...
显示detailViewController
不是您期望的AppTestDetailViewController
的实例,而是“仅”一个UITableViewController
一个可能的原因可能是您没有为控制器设置“自定义类”
在情节提要文件中。self.detailsList似乎不包含Detail类型的项。你能在指定给详细信息的行上放置一个断点来检查该数组并告诉我们内容是什么吗?我已经检查了self.detailsList的内容,它包含3个详细信息项,它们的属性设置正确。你知道,我想知道“details”是否是保留关键字。尝试将变量名更改为“myDetails”@Bek,这不是问题所在。问题是视图控制器实例属于类
UITableViewController
,而不是其自定义子类AppTestDetailViewController
。看起来self.detailsList不包含Detail类型的项。你能在指定给详细信息的行上放置一个断点来检查该数组并告诉我们内容是什么吗?我已经检查了self.detailsList的内容,它包含3个详细信息项,它们的属性设置正确。你知道,我想知道“details”是否是保留关键字。尝试将变量名更改为“myDetails”@Bek,这不是问题所在。问题是视图控制器实例属于类UITableViewController
,而不是它的自定义子类AppTestDetailViewController
。非常感谢它的工作。。。。我试图在创建故事板时预先设置参数,但不知怎的,它当时没有接受更改。。。现在它做到了!再次非常感谢!你一针见血!如果苹果的人在错误信息上说一些提示,那会好得多…非常感谢它的工作。。。。我试图在创建故事板时预先设置参数,但不知怎的,它当时没有接受更改。。。现在它做到了!再次非常感谢!你一针见血!如果苹果的人在错误信息上说一些提示,那会好得多。。。