Objective c 我应该什么时候使用
可能重复: 我很难理解什么时候我必须保留一个对象?有一般规则吗 例如:Objective c 我应该什么时候使用,objective-c,memory-management,retain,Objective C,Memory Management,Retain,可能重复: 我很难理解什么时候我必须保留一个对象?有一般规则吗 例如: - (IBAction)buttonPressed:(UIButton *)button{ // some code NSString *buttonText = button.titleLabel.text; //retain needed or not ? [buttonText retain]; double result = [someObject someMethod:
- (IBAction)buttonPressed:(UIButton *)button{
// some code
NSString *buttonText = button.titleLabel.text;
//retain needed or not ?
[buttonText retain];
double result = [someObject someMethod:buttonText];
// some more code
}
在这种情况下,您不必保留buttonText,除非您要释放按钮并且需要保留字符串。Retain增加对象的Retain计数,并且有一些规则和约定可以使用它。我建议你读书
另外,请看一看,有很多关于这个话题的文献。我建议彻底阅读苹果公司创建的。此外,这个问题似乎是一个完全重复的问题。
- (IBAction)buttonPressed:(UIButton *)button{
// some code
NSString *buttonText = [button.titleLabel.text retain];
//retain needed or not ?
// if you think your code can release the button object at this point, so you have to retain it.
// like :
//[button release];
// its safer to retain your object so there wont be any problem. And dont forget to release
//[buttonText retain];
double result = [someObject someMethod:buttonText];
// release when you done with it.
[buttonText release];
// some more code
}