改变财产的价值
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 中更改的新值以上是关于改变财产的价值的主要内容,如果未能解决你的问题,请参考以下文章