UITableViewController 无法识别的选择器发送到实例
Posted
技术标签:
【中文标题】UITableViewController 无法识别的选择器发送到实例【英文标题】:UITableViewController unrecognized selector sent to instance 【发布时间】:2013-01-10 17:22:57 【问题描述】:当我传递一个整数时,我有一个 tableviewcontroller 和一个 detailtableviewcontroller
-[UITableViewController setSurveyNumber:]:无法识别的选择器发送到实例
Bizard 的代码与 tableviewcontroller 完全相同 -> uiviewcontroller
表格 -> 表格代码
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
if([segue.identifier isEqualToString:@"pushSurveyDetails"])
NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSInteger row = [indexPath row];
SurveyDetailViewController *surveyController = [segue destinationViewController];
surveyController.surveyNumber=row;
在 SurveyDetailViewController.h 中
@interface SurveyDetailViewController : UITableViewController
@property int surveyNumber;
@end
SurveyDetailViewController.m
@implementation SurveyDetailViewController
@synthesize surveyNumber;
- (void)viewDidLoad
[super viewDidLoad];
NSLog(@"Survey Number is %i",surveyNumber);
为什么会出现这个错误?
【问题讨论】:
surveydetails.h 是否与您在创建 SurveyDetailViewController 时假设的相同,因为它应该是 SurveyDetailViewController.h 和 .m 只是拼写错误 SurveyDetailViewController 是surveydetails 让我编辑问题 错误信息表明[segue destinationViewController]
返回的是UITableViewController
而不是SurveyDetailViewController
。也许你忘了在 storyboard 文件中设置控制器的类?
@MartinR 你是对的,我尝试了几次在 IB 上输入类名,但它没有自动显示,所以我必须忘记这一点。我又试了一次,现在可以了,请提供答案,以便我接受。
【参考方案1】:
错误消息表明[segue destinationViewController]
返回的是UITableViewController
,而不是预期的SurveyDetailViewController
。
控制器类可以在storyboard文件中设置。
【讨论】:
未来的读者,仅供参考,如果您错误地将相同的标识符放在情节提要的多个 segues 上,可能会出现同样的错误。以上是关于UITableViewController 无法识别的选择器发送到实例的主要内容,如果未能解决你的问题,请参考以下文章
setRefreshed:在横向模式下发送到 UIViewController 的无法识别的选择器
UITableViewCell 中的 UITextField 抛出 -[UITextInputTraits length]:无法识别的选择器发送到实例
[__NSCFString name]:发送到实例的无法识别的选择器
[UITableViewCell otherFeeLblName]:无法识别的选择器发送到实例 0x7fc45009a000