gpt4 book ai didi

Object Segue 上的 IOS 无法识别的选择器

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:01:02 25 4
gpt4 key购买 nike

我正在制作一个 iOS 应用程序,但我试图将一个对象发送到另一个 View Controller ,但它抛出了这个错误

Blockquote-[UINavigationController setUserObject:]: unrecognized selector sent to instance 0x156aa330

这是我的代码:登录 View Controller .m这是用户,它已经为对象分配了名称、电子邮件和姓氏的值

#import "PerfilViewController.h"
#import "User.h"
@interface LogInViewController (){
User *user;
}
@end
(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([[segue identifier] isEqualToString:@"loggedIn"]) {
user.name = self.nameText.text
user.lastname = self.lastNameText.text
PerfilViewController *pvc = [segue destinationViewController];
[pvc setUserObject: user];
}
}

在我的目标 Controller 中,我在 viewDidLoad 上也分配了它

#import "PerfilViewController.h"
#import "User.h"
@interface PerfilViewController (){
User *user;
}

@end

@implementation PerfilViewController

- (void)viewDidLoad {
[super viewDidLoad];
[self setViewValues];
[self.navigationItem setHidesBackButton:YES];
user = [[User alloc] init];
}

#pragma mark - Segue
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}

-(void)setUserObject:(User *)userToSet{
user = userToSet;
}

最佳答案

问题是 destinationViewController 是一个 UINavigationViewController 所以 PerfilViewController 应该是它的 rootViewController

if([[segue identifier] isEqualToString:@"loggedIn"]) {
UINavigationController *navigationController = [segue destinationViewController];
PerfilViewController *pvc = navigationController.rootViewController;
[pvc setUserObject: user];
}

关于Object Segue 上的 IOS 无法识别的选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30464991/

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