showInView:自定义UIView的方法

| 我创建了一个自定义
UIView
,称为
CustomMessage
,我在整个程序中都在使用它。
CustomMessage
的外观具有动画效果,因此我在
CustomMessage
类中编写了一种称为
showInView:
的方法以显示视图。例如,假设我希望在特定的视图控制器中显示“ 1”视图-我将使用以下代码:
CustomMessage *myCustomMessage = [[CustomMessage alloc] initWithMessage:@\"Hello\"];

[myCustomMessage showInView:self.view];
如您所见,这与创建和呈现ѭ7的方式非常相似。 但是,我在内存管理方面遇到问题。如果我将下面的代码行直接放在上面的两行之后:
[myCustomMessage release];
然后(如预期的那样)该程序将因with9错误而崩溃。 我不确定我在CustomMessage类中需要做什么,以便可以在调用
showInView:
方法后直接释放该对象,以免发生内存泄漏。显然,这是可以做到的,因为这是
UIActionSheet
的工作方式(但是我无法理解如何实现类似的东西-我无法弄清楚某些人如何保留
CustomMessage
对象其他对象,大概是显示
CustomMessage
self.view
(在上面的示例中),以避免它在仍在使用时完全释放该对象)。 除了这个小方面,其他所有东西都可以正常工作,所以任何帮助将不胜感激:)     
已邀请:
我需要在
CustomMessage.m
中查看您的
showInView:
代码。我希望它看起来像以下内容。
- (void)showInView:(UIView *)view
{
    // pre-animation configuration
    [view addSubview:self];
    // do the animation
}
这意味着
view
将保留
CustomMessage
实例。另外,如果您的
showInView
实现完全使用了并发性,则有可能立即返回以释放
MyCustomMessage
,然后后台操作试图访问释放对象。我只是猜测看不到您的代码。 什么是崩溃日志?在什么上下文中将什么消息发送到什么对象?此信息将定位问题。 如果上述方法都不能帮助您解决问题,请发布代码
showInView
以及崩溃日志中的详细信息,然后我再进行查看。     

要回复问题请先登录注册