gpt4 book ai didi

swift - 自定义类型转换

转载 作者:可可西里 更新时间:2023-11-01 01:02:33 24 4
gpt4 key购买 nike

如何在 Swift 中实现自定义类型转换?

as 似乎是一个可以在类上自定义实现的运算符,但我找不到关于它的任何文档。

用例示例:人们可能希望从 Swift String 类型转换为自定义类,如 UCS4String,它实现了自己的方法和内部表示。

如果 as 不能用于此目的,那么首选模式是什么?

最佳答案

您只能将某物强制转换为它实际可能是的某物。例如,您可以将一个类向下转换为一个子类。 (例如,如果一个 View 是一个 UIImageView 但您对它的引用开始时是一个 UIView 引用,您可以使用 as! 运算符将其转换为 UIImageView。)但是 String 不是一个类, 所以它不能以那种方式沮丧。

同样,您不能在数字类型之间进行转换:例如,您不能将 Int 转换为 UInt,反之亦然。

相反,您需要为您的类型提供一个初始化器,以便您可以强制到您的类型的一个基于旧实例的实例。这就是从 Int 获取 UInt 的方式:

let i2 = UInt(i)

所以在你的情况下:

let s2 = UCS4String(string:s)

关于swift - 自定义类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34170748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com