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

UIViewController 无法查看 UITableViewController

无法更改 UITableViewController 颜色背景