当我必须保留一个物体时,我很难理解?有一般规则吗?
例如:
- (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
}
答案 0 :(得分:0)
- (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
}
答案 1 :(得分:0)
在这种情况下,您不必retain
buttonText
,除非您要释放按钮并且需要保留字符串。保留会增加对象的保留计数,并且有一些规则和约定可以使用它。我建议你阅读this
另请参阅Apple's Documentation,有很多关于这个主题的文献。