属性值未传递给其他方法

时间:2014-08-22 17:28:43

标签: ios objective-c properties nsstring automatic-ref-counting

在我的头文件中,我声明了一个像这样的新属性:

@property (weak, nonatomic) NSString *porperty;

在我的实现文件中,我给属性赋值:

-method1{
 self.property = someString;
 NSLog(@"property = %@", self.property);
}

日志在调试器中显示为someString的相同值。好的,但是当我尝试在同一个实现文件的下一个方法中使用这个属性时,它会失去它的价值。

-method2{
 NSLog(@"property = %@", self.property);
}

现在调试器说(null)。

简单的问题。我知道,但这通常适合我。我做错了什么?

1 个答案:

答案 0 :(得分:4)

这是因为someString已在下一个周期发布。 用强力替换弱,这将保留你的字符串。

@property(强,非原子)NSString * porperty;