我知道这是相当基本的东西。如何释放我想要返回的值?
我有一个类的函数,返回月份的名称;我不知道如何发布我想返回的值以防止泄漏。
在类此值声明:
static NSDateFormatter *formatter = nil;
if (formatter == nil) {
formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMMM yyyy"];
}
事情发生,然后:
if([exampleDate isEqualToDate:
[[self creationDate] laterDate:exampleDate]])
{ //earlierDate returns the earlier date
return(@"Examples");
}else{
return([formatter stringFromDate:[self creationDate]]);
}
我一直在使用自动释放尝试,但我不正确地使用它,因为我得到一个崩溃当我试图释放它。我也试着将返回值赋给一个字符串,但是我有相同的崩溃问题。对不起,我提出了一个非常重要的问题,但是我很想知道如何正确发布这个问题,同时还要回报价值 - 并理解它的工作原理。
这肯定是什么自动释放用于制造。它在崩溃时如何使用autorelease? – 2012-03-24 10:46:44
你有没有切换到ARC的具体原因?这个问题是无关紧要的:) – dasblinkenlight 2012-03-24 10:48:13
对于这个例子批准formatter = [[[[NSDateFormatter alloc] init] autorelease]; – glenstorey 2012-03-24 10:48:32