NSString* strSubject = [[NSString alloc] initWithData: temp encoding:
NSISO2022JPStringEncoding];
我收到了一条内存消息“上面一行分配的对象的潜在泄漏”。 有没有其他的方法来写相同的。NSString在目标c中的内存警告
NSString* strSubject = [[NSString alloc] initWithData: temp encoding:
NSISO2022JPStringEncoding];
我收到了一条内存消息“上面一行分配的对象的潜在泄漏”。 有没有其他的方法来写相同的。NSString在目标c中的内存警告
除非您释放它或将其放入autorelease池中,否则您将获得该类消息。
这是可以做到的:
NSString* str = [[NSString alloc] initWithData: blah blah blah ... ];
[str release];
立即去做。您还可以使用:
NSString* str = [[NSString alloc] initWithData: blah blah blah ... ];
[str autorelease];
将在未来某个时候发布。
paxdiablo意味着您需要执行'[strSubject发布]'或'[strSubject autorelease]':-) – 2011-03-25 04:49:05
谢谢@smalduck,我将其纳入答案。 – paxdiablo 2011-03-25 04:54:52
以后需要做[strSubject release]
或[strSubject autorelease]
以后或立即。我会用这个:
NSString* strSubject = [[[NSString alloc] initWithData:temp encoding:NSISO2022JPStringEncoding] autorelease];
可悲的是没有一个NSString工厂方法stringWithData:
,但这是等价的。
事实上任何[NSString stringWithBlah:xx]
方法或多或少相当于[[[NSString alloc] initWithBlah:xx] autorelease]
你在哪里释放strSubject? – 2011-03-25 05:11:16