当前位置: 首页 > 面试题库 >

快速获取类名的用户可读版本(在objc NSStringFromClass中就可以了)

双俊人
2023-03-14
问题内容

Swift中是否有等效的NSStringFromClass给出了用户可读的类名版本?我尝试将其与我创建的本机Swift类一起使用,但是如您所见,结果似乎是编译器对类名的内部表示:

println(NSStringFromClass(MyClass.self))

结果:

_TtC5test7MyClass

我尝试将 @objc 属性添加到该类,并使其成为NSObject的子类,但没有区别。我发现,如果我用同名的Objective-
C类替换MyClass,并将其导入到桥接头文件中,则会得到“ MyClass”,但这不是必须的。

另一个选择是为此制定一个协议,我要以此方式使用的每个类都必须符合:

protocol Nameable {
    class var className: String { get }
}

但是,使用该语言以内置的方式执行此操作会更容易。


问题答案:

您现在可以执行以下操作:

String(MyClass)


 类似资料:
  • 我正在尝试从Java应用程序的Google Sheets API。我已经访问了教程中提到的文件,但我无法访问我自己创建的任何文件。 这是我使用的代码: 我在Drive中手动创建了一个电子表格,用字符串填充A1: B,并从URL中复制了id,看起来像“1IeoY5jY3Su86x1uvgc1yJqEU-6dd6FdUKo8Yf5J73k”(不是实际的ID)。 这将生成错误400无法解析范围:类数据!

  • 问题内容: 我已经将网站托管在本地服务器上,并且该网站可以由多个本地用户访问,并且当他们尝试访问Java代码时,我希望当他们访问特定页面时获得访问此页面的客户端/用户的os用户: 它获取服务器而不是客户端的操作系统用户名。 请告知如何完成该任务,谢谢。 问题答案: 使用java方法就可以了。

  • 测试数据 # linecache_data.py import os import tempfile lorem = '''Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus eget elit. In posuere mi non risus. Mauris id quam posuere lectus soll

  • 问题内容: 我正在用python写一个简单的程序,我需要获取最新版本的Chrome。但是我在任何地方都找不到如何获取最新版本的Chrome。有没有办法以编程方式获取最新版本的Chrome? 问题答案: Chrome小组的官方链接。 https://chromedriver.storage.googleapis.com/LATEST_RELEASE 这提供了最新的Chrome版本 我编写了一个简单的

  • 问题内容: 我们有一个图书馆,每两周发布一个版本号不同的库。问题是,为了将版本号存储在我们的jar中,我们有一个version.txt文件,其中仅包含版本号,然后将其包含在内部版本中。这似乎是错误的方法,但我无法提出更好的解决方案。有什么更好的方法来将版本号存储在我们的jar中,以便如果用户打电话给我,我可以轻松地找到他们正在使用的产品的版本? 问题答案: 首先-确保您的程序或工具可以显示一些版本

  • 问题内容: 在我正在研究的Python项目中,我希望能够以格式 America / New_York 的“人类可读”时区名称(与系统本地时区相对应)显示给用户。我所看到的访问时区信息的每一段代码仅返回数字偏移量(-0400)或字母代码(EDT)或有时返回两者。是否有一些Python库可以访问此信息,如果没有,则可以将偏移量/字母代码转换为人类可读的名称? 如果对应于特定时区的名称不止一个,那么可以