. 以下-6ren">
gpt4 book ai didi

ios - 如何获取带有命名空间(或框架名称)的字符串形式的 Swift 类型名称

转载 作者:行者123 更新时间:2023-11-30 10:38:30 24 4
gpt4 key购买 nike

有没有办法以字符串形式获取 Swift 类型名称及其命名空间(或框架名称)?

例如,如果 Foo.framework 有一个名为 Bar 的类,我想得到一个类似 "Foo.Bar" 的字符串>.

以下代码仅返回类名“Bar”

let barName1 = String(Bar.self)       // returns "Bar"
let barName2 = "\(Bar.self)" // returns "Bar"
let barName3 = "\(Bar().dynamicType)" // returns "Bar"

我还想将框架名称“Foo”作为命名空间。

最佳答案

使用String(reflecting:) :

struct Bar { }

let barName = String(reflecting: Bar.self)
print(barName) // <Module>.Bar

来自Xcode 7 Release Notes :

Type names and enum cases now print and convert to String without qualification by default. debugPrint or String(reflecting:) can still be used to get fully qualified names.

关于ios - 如何获取带有命名空间(或框架名称)的字符串形式的 Swift 类型名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57368896/

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