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

Swift支持反射吗?

龙永逸
2023-03-14
问题内容

Swift支持反射吗?例如,是否有valueForKeyPath:setValue:forKeyPath:Swift对象类似的东西?

实际上,它甚至具有像obj.classObjective-C中那样的动态类型系统吗?


问题答案:

看起来有些反射支持已经开始:

class Fruit {
    var name="Apple"
}

reflect(Fruit()).count         // 1
reflect(Fruit())[0].0          // "name"
reflect(Fruit())[0].1.summary  // "Apple"

从mchambers要点,在这里:https
://gist.github.com/mchambers/fb9da554898dae3e54f2




 类似资料:
  • 我试图在两个进程之间共享从USB摄像头(logitech c270)接收到的帧(图像),以便避免出现。我正在使用这里描述的内存映射流式I/O方法,在使用后,我可以成功地从相机获取帧。但是,我有另一个进程(用于图像处理),它必须在出列后使用图像缓冲区,并向第一个进程发出信号,再次对缓冲区进行排队。 在网上搜索,我可以发现打开视频设备多次是允许的,但是当我尝试映射(尝试两个和只是)在第二个过程后成功的

  • 问题内容: 我在项目中使用Swift 2.3。昨天,我将Xcode更新到8.3版,但是我的项目无法成功构建。我收到此错误消息。 需要为使用Swift的目标正确配置“ Swift语言版本”(SWIFT_VERSION)。使用[编辑>转换>转换为当前Swift语法…]菜单选择一个Swift版本,或使用“构建设置”编辑器直接配置构建设置。 请帮我!谢谢! 问题答案: 发行说明中明确指出Xcode 8.3

  • 我最近开始使用Sceneform SDK for Android开发一个AR(增强现实)演示项目。我注意到ARKit支持环境中对象的实时反射,但我无法找到关于ARCore是否支持相同功能的正确答案。因此,我想知道是否有任何方法可以在Android上使用Sceneform SDK提供实时反射。 预期结果-在环境中呈现的模型应该反映周围的对象。 实际结果-模型当前反映的是一个静态房间(默认)而不是实际

  • 我正在尝试使用Flink的SQL API从地图访问密钥。它失败,线程“main”组织中出现错误异常。阿帕奇。Flink。桌子应用程序编程接口。TableException:不支持类型:任何请告知我如何修复它。这是我的活动课 这是提交flink作业的主类 当我运行它时,我得到了例外 我正在使用flink 1.3.1

  • 如果我只使用CoreOS和fleet,我可以在单元文件中指定我希望某些服务不与其他服务运行在同一物理机器上(反亲和性)。这对于高可用性来说是必不可少的。但是看起来kubernetes还没有这个功能。 在我的特定用例中,我将需要运行几个elasticsearch机器集群,这些机器需要始终可用。如果出于任何原因,kubernetes决定在一台机器上为给定的ES集群调度我的所有elasticsearch

  • 我试图通过Python在Elasticsearch中创建一个索引。我部署了一个ES的本地实例,查询运行良好。但是,我有一个模式。这里是: 下面是我用来创建这个索引的代码