Ios 未从其他视图控制器保存属性更新

Ios 未从其他视图控制器保存属性更新,ios,objective-c,uitableview,Ios,Objective C,Uitableview,关于这一点,我已经看到了很多答案,但出于某种原因,它对我不起作用。 我在文件a中有一个属性,然后在文件B中,我将变量设置为视图上的某个值a“显示在文件a上I/运行一些代码”,基于变量分配的内容 这是我的代码 ViewController.H @property(strong, nonatomic) NSString *option; ViewController.M -(void)viewDidAppear:(BOOL)animated { NSLog(@"Has apeparsed"

关于这一点,我已经看到了很多答案,但出于某种原因,它对我不起作用。 我在文件a中有一个属性,然后在文件B中,我将变量设置为视图上的某个值a“显示在文件a上I/运行一些代码”,基于变量分配的内容

这是我的代码 ViewController.H

@property(strong, nonatomic) NSString *option;
ViewController.M

-(void)viewDidAppear:(BOOL)animated
{
    NSLog(@"Has apeparsed");
    if ([_option isEqualToString:@"1"]) {

            [_map removeAnnotation:budAnno];
    }
}
ViewControllerB.h

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([[recipes objectAtIndex:indexPath.row] isEqualToString:@"TEST"])
    {
        ViewController *viewO =[[ViewController alloc]init];
        viewO.option=@"1";
    }
}
当在ViewControllerB中调用此代码时,Options设置为1。但当我单击BACK to ViewController.M时,我的if语句失败,因为它返回到nil。
想知道为什么要这样做。

问题是您在视图控制器a的新实例(而不是原始实例)上将选项设置为1。这是一个新实例,因为您正在执行alloc/init


返回时,您将返回到视图控制器A的原始实例。您尚未更改其选项值。

Hi,请在此处查看我的答案()…相同的情况。@danh谢谢,我返回到它,它帮助了我