【发布时间】:2012-12-06 16:25:43
【问题描述】:
由于某种原因我不能使用arc,所以在下面的代码中......
Foo.h
@interface Foo : NSObject
@property (nonatomic, copy) NSString * string;
@end
Foo.m
@implementation Foo
@synthesize string=_string;
- (void) bar {
self.string = [NSString stringWithFormat:@"test1"];
self.string = [NSString stringWithFormat:@"test2"];
}
-(void) dealloc
{
[_string release];
[super dealloc];
}
@end
bar 方法可能并不总是被调用,或者它们可以被多次调用。
dealloc 中只有一个release 都需要吗?
【问题讨论】:
-
我想知道 stringWithFormat 在自动释放模式下不返回字符串吗?
-
你为什么在这里使用
stringWithFormat?这些不是格式字符串。我知道这里的重点是询问内存管理,但这仍然表明您不了解如何使用字符串。只需使用self.string = @"some text";。
标签: iphone objective-c ios cocoa memory-management