gpt4 book ai didi

ios - 传递给另一个类时,NSString 的 id 返回 null

转载 作者:行者123 更新时间:2023-11-28 18:54:05 25 4
gpt4 key购买 nike

下面的代码将行发送到我的另一个类(class):

[self performSegueWithIdentifier:@"MeInfos" sender:[NSString stringWithFormat:@"%d",(int)indexPath.row]];

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
MeInfosViewController *viewController = [[MeInfosViewController alloc] init];
viewController.paramethersToLoad = (NSString*)sender;
NSLog(@"Will receive -> %@",sender);
}

在我的另一个类 (MeInfoViewController) 中,我有:

.h

@property (nonatomic, retain) NSString *paramethersToLoad;

.m

@synthesize paramethersToLoad;

-(void)viewDidAppear:(BOOL)animated{
NSLog(@"What comes? -> %@",paramethersToLoad);
}

此代码有一点问题,在控制台中我收到以下消息:

Will receive -> 4
What comes? -> (null)

为什么会发生这种情况,最好的解决方法是什么?

最佳答案

您在 prepareForSegue: 中创建的 View Controller 不是 segue 实际加载的实例。实际显示的 View Controller 由 iOS 运行时创建,并作为 segue 中的属性传递给您。

你想要的是:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
MeInfosViewController *viewController = (MeInfosViewController *)segue.destinationViewController;
viewController.paramethersToLoad = (NSString *)sender;
}

关于ios - 传递给另一个类时,NSString 的 id 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36209596/

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