改变财产的价值

Posted

技术标签:

【中文标题】改变财产的价值【英文标题】:Changing value of property 【发布时间】:2013-02-27 17:00:09 【问题描述】:

我有两个视图控制器,aViewController 和 bViewController,bViewController 是 aViewController 的子类。我在 aViewController 中声明了一些属性,在 bViewController 中我可以读取该属性的值,但是如果我尝试更改它们的值,则该值不会改变并且在更改之前保持第一个。

【问题讨论】:

贴出相关代码,不然没人帮忙。 代码或它没有发生。 可能属性处于“复制”模式 我怀疑他创建了一个新实例并希望更改前一个实例的值。 是的,我检查了属性的内存地址,当我读取值和写入时它们会发生变化。我尝试使用保留或复制更改属性,但结果相同 【参考方案1】:

请确保您有这样的东西:

// "A" view controller
@interface AViewController : UIViewController

@property (nonatomic, strong) NSString *name;

@end


// "B" view controller
@interface BViewController : AViewController

- (void)changePropertyValue;

@end

@implementation BViewController

- (void)changePropertyValue

    self.name = @"Bill";
    NSLog(self.name);
    self.name = @"Steve";
    NSLog(self.name);


@end

// create your BViewController
BViewController *theController = [[BViewController alloc] init];
[theController changePropertyValue];

【讨论】:

好的,这是正确的,但我的问题是我想在 aViewController 中读取 bViewController 中更改的新值

以上是关于改变财产的价值的主要内容,如果未能解决你的问题,请参考以下文章

成都元码链科技教你怎么做价值链分析?

如何只有在改变之后才能获得价值

Angular 材料 Datepicker 获得改变的价值

改变游戏循环中的价值

python 改变关键和价值观

RX Observables - 如果我不能改变价值,那么“随着时间的推移”有啥意义?