我有一个分配的对象,其属性存储在以下内存位置:

当我将属性简单归因NSDate于变量时,它给了我一个EXEC_BAD_ACESS. 正如您从第一张图片中看到的,只有日期属性和fileDate变量具有不同的地址。

我是否犯了一些与指针相关的错误?其他 2 个属性已正确分配给变量,它只发生在 .NSDate所以我可能遗漏了一些关于NSDate.
编辑1
DownloadFile定义:

编辑2
初始化函数:

EDIT3 日期参数:

我有一个分配的对象,其属性存储在以下内存位置:

当我将属性简单归因NSDate于变量时,它给了我一个EXEC_BAD_ACESS. 正如您从第一张图片中看到的,只有日期属性和fileDate变量具有不同的地址。

我是否犯了一些与指针相关的错误?其他 2 个属性已正确分配给变量,它只发生在 .NSDate所以我可能遗漏了一些关于NSDate.
编辑1
DownloadFile定义:

编辑2
初始化函数:

EDIT3 日期参数:

你有什么理由不使用ARC?那里有很多内存管理错误会导致泄漏,还有一个会导致崩溃。
NSDate *dateFromString = [dateFormatter dateFromString:receivedDate];
返回一个自动释放的NSDate,所以当你然后调用附加的
[dateFromString autorelease];
你过度释放了NSDate你的崩溃。
[pFile setDate:[[NSDate alloc] init]];
是内存泄漏。通过 settersetDate:将导致pFile在日期上获得 +1 保留,它应该在它的dealloc. 该[[NSDate alloc] init]调用返回一个带有 +1 的日期对象,但随后永远不会在其他地方发布。
您可以使用以下方法解决此问题
[NSDate date]
或者
[[[NSDate alloc] init] autorelease];
第一个选项是首选