gpt4 book ai didi

ios - 应用委托(delegate) : unrecognised selector sent to instance

转载 作者:行者123 更新时间:2023-11-29 02:35:05 28 4
gpt4 key购买 nike

我的应用程序委托(delegate)方法中有一些代码应该将对象发送到 View Controller 。由于某种原因,它抛出一个错误:“无法识别的选择器发送到实例”

在 View Controller 中我设置了以下变量:

@property (nonatomic, strong) Patient* patient;

我的应用委托(delegate)中的代码如下所示:

    UISplitViewController* splitViewController = (UISplitViewController*)self.window.rootViewController;
UINavigationController* patientNavController = [splitViewController.viewControllers objectAtIndex:0];
PatientMasterTableViewController* patientMasterTableViewController = (PatientMasterTableViewController*)[patientNavController topViewController];
PatientDetailViewController* patientDetailViewController = [splitViewController.viewControllers objectAtIndex:0];

Patient* firstPatient = [[patientMasterTableViewController patientArray] objectAtIndex:0];
[patientDetailViewController setPatient:firstPatient];// this line throwing the error

我是 iOS 的新手,我不太明白为什么它不允许我传递患者对象。谁能帮忙?

最佳答案

这行代码:

PatientDetailViewController* patientDetailViewController = [splitViewController.viewControllers objectAtIndex:0];

不保证返回 PatientDetailViewController。它可以返回任何类的对象,而您无需检查返回的是什么类的对象。

您的应用崩溃是因为它返回一个 UINavgationController 对象,该对象没有 setPatient 方法。

至于为什么它返回错误类的对象,这将取决于您创建的 View Controller 。

关于ios - 应用委托(delegate) : unrecognised selector sent to instance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26447524/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com