尝试从延迟存储属性中的函数返回值时,我收到一条错误消息,提示“无法将'String' 类型的值转换为'Test' 类型的参数”。我无法在惰性 var 的关闭中发现任何问题。
import UIKit
public struct Value {}
public class Test {
var id: String = ""
public func getValueById(id: String) -> Value {
return Value()
}
public lazy var value: Value = {
// Compiler error: Cannot convert value of 'String' to expected argument type 'Test'
return getValueById(self.id)
}()
}