Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
Swift 计算属性不需要存储分配_Swift_Memory Management_Allocation_Computed Properties - Fatal编程技术网

Swift 计算属性不需要存储分配

Swift 计算属性不需要存储分配,swift,memory-management,allocation,computed-properties,Swift,Memory Management,Allocation,Computed Properties,一个基本的问题,甚至可能是愚蠢的,但它对我很重要。我不知道答案,我感谢你抽出时间 [问题]: 在Swift中,计算属性没有任何存储分配,因此它实际上不是一个变量您可以在本书第二章第197页找到这句话iOS学徒(第五版) [问题]: 计算属性没有任何存储分配?我不明白。内存中必须有一些地方来保存数据进行计算,否则,这怎么可能呢?或者,这意味着只计算被调用的值,并在数据交给调用者后删除/销毁数据,我是否在这个概念的正确方向上 谢谢计算属性非常类似于不带参数并返回值的函数。在计算属性执行的生命周期内,

一个基本的问题,甚至可能是愚蠢的,但它对我很重要。我不知道答案,我感谢你抽出时间

[问题]:

在Swift中,计算属性没有任何存储分配,因此它实际上不是一个变量您可以在本书第二章第197页找到这句话iOS学徒(第五版)

[问题]:

计算属性没有任何存储分配?我不明白。内存中必须有一些地方来保存数据进行计算,否则,这怎么可能呢?或者,这意味着只计算被调用的值,并在数据交给调用者后删除/销毁数据,我是否在这个概念的正确方向上


谢谢

计算属性非常类似于不带参数并返回值的函数。在计算属性执行的生命周期内,将在堆栈上临时分配一些内存,以存储计算属性的局部变量

除此之外,computed属性的指令必须存储在编译程序的某个地方。幸运的是,您只需要定义的一个副本,它可以用于所有实例


重要的一点是不需要每个实例的内存。

计算属性与不带参数并返回值的函数非常相似。在计算属性执行的生命周期内,将在堆栈上临时分配一些内存,以存储计算属性的局部变量

除此之外,computed属性的指令必须存储在编译程序的某个地方。幸运的是,您只需要定义的一个副本,它可以用于所有实例


重要的一点是不需要每个实例的内存。

本质上这意味着每次使用结果时都要计算结果,而不是引用存储以前任何计算结果的地址。因此,每次使用它时都会占用内存(计算完成后会释放内存),但没有留出内存位置来保存值供以后参考(正常变量/对象确实有)

本质上,这意味着每次使用时都要计算结果,而不是引用存储以前任何计算结果的地址。因此,每次使用它时都会占用内存(计算完成后会释放内存),但没有留出内存位置来保存值供以后参考(正常变量/对象确实有)

谢谢你的时间和解释谢谢你的时间和解释。保持好奇心!!当然保持好奇心!!