【发布时间】:2011-06-09 05:36:12
【问题描述】:
我有一个采用MKAnnotation 协议的类。除了要实现的两个“title”和“subtitle”方法之外,我还想添加两个 NSString,一个代表典型美国地址中的每一行。例如:
addressLine1 = 123 street
addressline2 = northridge, ca 91326
我的字幕方法目前看起来像:
- (NSString *)subtitle {
NSMutableString * ret = [NSMutableString stringWithCapacity:kDefaultStringCapacity];
if (streetAddress) {
[ret appendString:streetAddress];
addressLine1 = [[NSString alloc] initWithFormat:streetAddress];
}
... more code
我什么时候发布 addressLine1?因为它是我用 (nonatomic, retain) 声明的属性,所以我已经在我的 dealloc 方法中释放了它。或者我是使用类方法还是自动释放字符串?谢谢。
【问题讨论】:
-
为什么要使用没有附加参数的格式?如果没有额外的参数,它实际上并没有做任何事情,只是按原样复制格式字符串,并且 streetAddress 中任何 % 格式说明符的存在都可能会使您的应用程序崩溃。你想在那里完成什么?
标签: iphone objective-c memory-management