我有一个视图模型MyModelView
,其初始化程序如下:
public init(myModel: MyModel) {
self.myModel = myModel
amountText = String(myModel.amount) // Double
descriptionText = myModel.description
numberText = "\(myModel.number)" // Double
weightText = "\(myModel.weight)" // Double
}
当我在Xcode 8中使用新的调试内存图时,我可以看到以下内容:
第一个内存泄漏的回溯指向行amountText = String(myModel.amount) // Double
。另外两个指向numberText = "\(myModel.number)" // Double
& weightText = "\(myModel.weight)" // Double
我只是不明白这里的问题是什么。使用"\(Double)"
或String(Double)
将Double转换为字符串会产生内存泄漏?或者它是在初始化程序中执行的?那为什么?