Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 对于Xcode生成的核心数据管理对象,是否需要添加dealloc方法来释放变量?_Iphone_Ios_Core Data_Memory Management_Nsmanagedobject - Fatal编程技术网

Iphone 对于Xcode生成的核心数据管理对象,是否需要添加dealloc方法来释放变量?

Iphone 对于Xcode生成的核心数据管理对象,是否需要添加dealloc方法来释放变量?,iphone,ios,core-data,memory-management,nsmanagedobject,Iphone,Ios,Core Data,Memory Management,Nsmanagedobject,对于Xcode生成的核心数据管理对象,是否需要添加dealloc方法来释放变量 因此,当我为iPhone应用程序建立了一个核心数据模型,并让XCode生成托管对象类时,我注意到没有dealloc方法。我是否需要在dealloc方法中手动“释放”变量/属性 我看到代码生成的托管对象类有: 该属性在头文件中标记为“保留” 在实现文件中,它设置为“@dynamic”(即非@sythesis) 谢谢您不需要(也不应该)修改这些生成的文件。@dynamic意味着将在运行时提供属性实现 这有两个部分。对

对于Xcode生成的核心数据管理对象,是否需要添加dealloc方法来释放变量

因此,当我为iPhone应用程序建立了一个核心数据模型,并让XCode生成托管对象类时,我注意到没有dealloc方法。我是否需要在dealloc方法中手动“释放”变量/属性

我看到代码生成的托管对象类有:

  • 该属性在头文件中标记为“保留”
  • 在实现文件中,它设置为“@dynamic”(即非@sythesis)

谢谢

您不需要(也不应该)修改这些生成的文件。@dynamic意味着将在运行时提供属性实现

这有两个部分。对于您在模型中定义的属性,不要在dealloc方法中释放它们。核心数据是为您管理这些数据。但是,如果您向生成的类添加其他IVAR,比如说您有一个imageData属性,然后从中生成一个UIImage,保存在NSManagedObject子类中,那么您需要添加dealloc方法并像在任何其他对象中一样释放它


我强烈建议您开始使用。这很好,因为它生成了一个机器文件和一个用户文件,以便将自动处理的内容与自定义代码分开。

虽然您不需要发布核心数据管理的属性,但您应该清理自定义核心数据子类创建的任何属性或实例变量。但是,您不能依赖dealloc来调用核心数据子类。使用willTurnIntoFault执行任何必要的清理

谢谢-re-mogenerator在XCode4上试用过,但遇到了一些问题-似乎它还没有出现在re-XCode4上-是的,自动支持还没有出现,但我在手动触发applescript生成文件方面没有遇到任何问题。您只需记住在对模型进行更改后执行此操作。我现在可以忍受了,因为我更喜欢为机器和用户代码创建单独的文件。哦,我明白你的意思了-我使用了一个“类别”来添加两个方法,其中一个是由xcode创建的托管对象