gpt4 book ai didi

ios - iOS开发,带有if和else的返回函数以及自动释放

转载 作者:行者123 更新时间:2023-12-01 17:24:12 25 4
gpt4 key购买 nike

我在我的第一个大型应用程序中,在这里内存管理存在一些问题。

-(id) dateFormatter:(id)date{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];
if([date isKindOfClass:[NSString class]])
return [dateFormatter dateFromString:date];
else
return [dateFormatter stringFromDate:date];
}

现在,正如我所看到的,此示例中的每个返回都需要在最后自动释放。但是,当我添加自动发布时,我得到一个EXC_BAD_ACCESS错误,没有它,一切都会很好。我分析了问题,并发现该函数中的自动释放过多,但是我看不到没有它如何释放NSDateFormatter的内存。

有人可以解释吗?

最佳答案

怎么做:

-(id) dateFormatter:(id)date{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setTimeStyle:NSDateFormatterShortStyle];
[dateFormatter setDateStyle:NSDateFormatterLongStyle];

id retVal;
if([date isKindOfClass:[NSString class]])
retVal = [dateFormatter dateFromString:date];
else
retVal = [dateFormatter stringFromDate:date];
[dateFormatter release];
return retVal;

}

关于ios - iOS开发,带有if和else的返回函数以及自动释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7402733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com