我有几个UIView子类(按钮,标签等)遵循以下安装模式。我的问题是,为什么邮件仍然可以在release
之后发送到UILabel
?将消息发送到发布的对象?
myLabel = [[UILabel alloc] initWithFrame:someFrame];
[someUIView addSubview:myLabel];
[myLabel release];
myLabel.textAlignment = UITextAlignmentCenter;
// other property changes to myLabel
他们被新的UIView“拥有”,我想,但我不明白为什么release
不破坏原来的对象,因而所有的消息吧。我不通过someUIView
的subViews
进行财产更改。我没有抱怨。我只是想明白为什么。
编辑:我应该补充说,这些是实例变量,如果这有所作为。
完美!谢谢!我如何知道另一种方法何时会隐式调用发布?有一些我应该知道的清单吗? (除了查看NSObject的retainCount) – 2011-12-19 00:49:35
释放一个对象后不要使用它。 – zaph 2011-12-19 00:52:51
简短的回答是......不用担心。当然,我碰巧知道'-addSubview:'在对象上执行保留,但这不是必需的。至于'retainCount',就不要打扰。认真。这是一个只会导致疯狂的实现细节。 – 2011-12-19 00:53:53