Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.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/5/objective-c/24.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
Ios 处理视图控制器资源_Ios_Objective C_Xcode_Memory Management_Automatic Ref Counting - Fatal编程技术网

Ios 处理视图控制器资源

Ios 处理视图控制器资源,ios,objective-c,xcode,memory-management,automatic-ref-counting,Ios,Objective C,Xcode,Memory Management,Automatic Ref Counting,我很难理解所有的ARC。这是我计划的一个细目 我这样写是为了强调VC1更像是“主屏幕”…它实际上没有变化的变量。您键入一些值并将其传递到音乐播放器,音乐播放器被实例化。问题是,当离开VC2并进入启动屏幕选择不同的值时,随着循环的继续,内存会越来越高 这就是它的工作原理吗?我注意到当我返回到启动屏幕时,它的所有值都被重置,这告诉我它的绘图内容是新的。为什么每次我在这两个屏幕之间切换时内存都在增加?为什么每次我在这两个屏幕之间切换时内存都在增加 可能是因为您实际上并没有在两个控制器之间切换——返回v

我很难理解所有的ARC。这是我计划的一个细目

我这样写是为了强调VC1更像是“主屏幕”…它实际上没有变化的变量。您键入一些值并将其传递到音乐播放器,音乐播放器被实例化。问题是,当离开VC2并进入启动屏幕选择不同的值时,随着循环的继续,内存会越来越高


这就是它的工作原理吗?我注意到当我返回到启动屏幕时,它的所有值都被重置,这告诉我它的绘图内容是新的。为什么每次我在这两个屏幕之间切换时内存都在增加?

为什么每次我在这两个屏幕之间切换时内存都在增加

可能是因为您实际上并没有在两个控制器之间切换——返回vc1时,这些值被重置,这一事实告诉我,返回时,您实际实例化了一个新的vc1实例。使用segue时,应仅使用展开segue返回到上一个控制器。其他类型的序列总是实例化新的控制器
.

您如何在这两个控制器之间切换?您是在调用presentViewController还是其他变体以从VC1切换到VC2?调用dismissViewController从VC2返回VC1?我使用segue在VC1和VC2之间切换,因为我需要传递数据…也使用segue返回VC1,我不知道还有其他移动方式。@marcjacbson,我在这里的回答中解释了如何进行展开segue,