我想知道,如果我做得正确,关于保留和释放数字按钮请参阅下面的内容。在“用stephen kochan在目标C中编程”一书中,它在一个部分中用不同的例子说,就像数字按钮持有对发送者持有的同一对象的引用,所以在发送者之间可能会在其他地方发布然后我会调用currenttitle方法在解除分配的数字按钮上,如果是这样的话。所以我在这里称为数字按钮上的保留,在使用之后,我在其上调用了发布。好的例子可能不是真正的这个目的,但这个概念有效吗?我是否应该练习保留下面示例中的对象?如果我错了你能帮助我吗?我没有编写托管代码的经验。
- (IBAction)clickDigit:(id)sender {
UIButton *digitButton = (UIButton*)sender;
[digitButton retain];
NSLog(@"%@",[digitButton currentTitle]);
[[self displayOutput] setText:[digitButton currentTitle]];
[digitButton release];
}
格拉西亚斯。
是的,例子是错的,让我们说如果不是id发送者而是NSString而不是UIButton,相同的NSString,并且返回类型只是无效。然后我必须保留发送者NSString以确保安全,以防有人持有其引用它。 注意:我没有使用ARC
答案 0 :(得分:3)
你不需要保留和;释放它。你可以这样做
- (IBAction)clickDigit:(UIButton *)sender
{
NSLog(@"%@",[sender currentTitle]);
[[self displayOutput] setText:[sender currentTitle]];
}
答案 1 :(得分:0)
您在clickDigit:
中所做的事情是不必要的。
我没有解释为什么没有必要,我会直接指出我在哪里学习了适当的内存管理技术:Advanced Memory Management Programming Guide