【发布时间】:2012-08-26 19:00:48
【问题描述】:
我只是在更新我的一个应用程序,我发现了一些让我大吃一惊的旧代码。我的评论通常很冗长,但我没有向自己解释我为什么这样做。
我正在展示一个 ModalView 并更新标题和 UITextField,如下所示:
addStoryItem.placeholderText = @"Foo"; //The text is always a static string.
addStoryItem.modalTitleText = @"Bar";
在模式中,为这两个值分配属性:
@property (readwrite, assign) NSString *placeholderText;
@property (readwrite, assign) NSString *modalTitleText;
然后在modal被dismiss后在modal的dealloc中释放:
[placeholderText release];
[modalTitleText release];
这安全/明智/可以吗?我想我可能对avoid a retain cycle 做了这个。
【问题讨论】:
-
对字符串使用“复制”属性就可以了。在这种情况下使用“分配”是错误的。也没有保留周期,因为字符串没有对控制器的拥有引用。 (他们应该怎么做?)
标签: cocoa-touch ios5 memory-management modalviewcontroller