我得到了这个错误:
二进制运算符"??"不能应用于"String?"类型的操作数和"UUID">
此处:
Binary operator '??' cannot be applied to operands of type 'String?' and 'UUID'
为什么???
用于选项,而不是?
字符串和UUID不是同一类型,因此无法进行比较。
如果要比较它们,可以使用UUID.uuidString属性将UUID的值作为字符串获取。
let x: String? = nil
let uuid = UUID()
let y: String = x ?? uuid.uuidString
首先,将设备UDID获取为字符串,然后可以比较
let udid = UIDevice.current.identifierForVendor!.uuidString