gpt4 book ai didi

objective-c - 复制 NSDate 对象并释放

转载 作者:行者123 更新时间:2023-11-28 22:53:41 25 4
gpt4 key购买 nike

如果我这样做:

NSDate *dateStart;
[dateStart alloc];

// Initialise with a date somewhere here..

..

// Modify the start date.
dateStart = [chosenDate copy];

我应该在分配 dateStart 指针之前执行 [dateStart release] 吗?

我有 C/C++ 背景,我不了解整个 ObjectiveC/iOS 垃圾收集行为(如果确实有的话)。我的 C 背景告诉我应该释放 dateStart 指向的初始 NSDate 对象。那是正确的吗?

最佳答案

是的,因为你在应该在这一行之前释放它之前分配了它

//Release it before reassign
[dateStart release];
dateStart = [chosenDate copy];

另请注意,最好在同一行上进行分配和初始化,不要将它们分成多行

所以这个

NSDate *dateStart;
[dateStart alloc];

会变成

NSDate *dateStart = [[dateStart alloc] init....];

关于objective-c - 复制 NSDate 对象并释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11270257/

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