【问题标题】:Property Update not being saved from other view controller未从其他视图控制器保存属性更新
【发布时间】:2014-12-21 01:30:38
【问题描述】:

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

所以。这是我的代码。 (最低限度) 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 中调用此代码时,选项设置为 1。但是当我单击返回到 viewContoller.M 时,我的 if 语句失败,因为它返回为零。 想知道为什么这样做。

【问题讨论】:

标签: ios objective-c uitableview


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2015-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    相关资源
    最近更新 更多