.dynamicType 已弃用。使用“类型(...)”代替

2023-12-24

我刚刚更新到 Xcode 8 和 iOS 10(使用旧版 Swift 语言版本)。

尝试再次编译我的项目一直是一种痛苦,即使仍然使用旧的 Swift 语法。这次我的函数之一使用NSBundle(forClass: self.dynamicType)但现在看来.dynamicType已被弃用,Xcode 甚至不想编译它。

他的建议是使用type(of: self)但这也失败了。有人知道解决方案吗?谢谢。


(下面的内容适用于 Swift 3;但是,不是旧版 Swift 语言版本 (2.3),因此它没有回答 OP 的问题,但对于 Swift 3 用户来说可能很有价值)

正如你的问题中所指出的,dynamicType现在(Swift 3)已弃用,取而代之的是type(of:)。此外:

  • NSBundle已更名为Bundle.
  • The init(forClass:)的初始化器Bundle已更名为init(for:).

考虑到这些更改,对于 Swift 3,您可以初始化(或获取与特定类关联的现有实例)您的Bundle对象以下列方式:

class Foo {
    func bar() -> () {
        let bundle = Bundle(for: type(of: self))
        // ...
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.dynamicType 已弃用。使用“类型(...)”代替 的相关文章

  • 错误 ITMS-90207 Apple Store 提交

    当我在模拟器或设备上运行我的应用程序时 用于调试和发布构建配置 它可以完美运行 但是当我尝试将我的应用程序提交到 Apple Store 时 出现以下错误 错误 ITMS 90207 捆绑包无效 APPNAME app 处的捆绑包确实 不包
  • Xcode - 调试视图层次结构

    我正在尝试调试应用程序的视图层次结构 Xcode 窗口的左侧窗格中出现了一个紫色的小方块 请参见屏幕截图 知道这个问题可能是什么吗 好吧 我找到了这个问题的根源 这是一个约束问题
  • 从 UTC 转换为本地时区给出错误结果

    背景我需要将格式为 HH mm 的时间字符串从 UTC 转换为本地时区 例如 如果 UTC 时间为 09 00 则当地时间 斯德哥尔摩 欧洲 应提前两个小时 Problem当我将 09 00 UTC 转换为斯德哥尔摩 欧洲时间时 我得到 1
  • 在哪里实现 Swift 协议?

    在 Swift 中实现协议一致性时 我有两个选择 具有相同的最终结果 在类中实现协议 也就是说 在类定义的顶部声明一致性 并将实现放在类体内 或者 在扩展中实现协议 也就是说 完全在类之外编写符合协议的代码 这是一个例子 public cl
  • UI图像位置

    我使用以下代码在 UIView 中放置一些图像 UIImage image UIGraphicsBeginImageContext CGSizeMake 480 320 int k 0 int posY 0 for int i 0 i lt
  • Xcode 注释自动完成(appledoc 风格)

    我发现记录界面特别痛苦 因为我需要自己输入所有内容 所以我想我一定不是唯一一个这样的人 并开始寻找一种方法来减轻我的痛苦 但没有找到多少 我的问题是 有没有快捷方式或方法可以让 Xcode 自动完成我的评论 例如 我非常希望输入 tab 它
  • 在其他数组中使用 ForEach 的索引

    为什么我不能使用 FromEach 的索引作为其他数组的索引 这个索引是Int 那么有什么问题呢 var word String return slova selector var symbols Array
  • iOS:如何在不降低 fps 的情况下播放音频?

    我正在使用 Sprite Kit 最好使用 Swift 库 为 iOS 9 开发游戏 目前 我正在使用 Singleton 在其中预加载音频文件 每个文件都连接到一个单独的 AVAudioPlayer 实例 这是一个简短的代码片段来了解这个
  • 将 C 转换为 Swift:向 UITextField 添加放大镜图标

    如何在左侧添加一个放大镜图标UITextField 我找到了类似问题的答案here https stackoverflow com questions 11811705 where can i get the magnifying glas
  • scntool:无法转换文件,失败原因:*** -[__NSSingleObjectArrayI objectAtIndex:]:索引 1 超出范围

    我正在 Xcode 9 3 下开发一个基于 iOS 11 3 SceneKit 的项目 我有几个 dae 文件格式的 3D 模型 每当我构建项目时 其中一个模型不会被复制到最终的 iOS 包中 深入研究错误 我在复制捆绑资源构建阶段收到以下
  • 如何将图像放入此 UIPickerView 中?

    我不知道如何创建一个在文本一侧带有图像的自定义 UIPickerView 我一直在寻找一种方法 我刚刚发现了这个 UIView pickerView UIPickerView pickerView viewForRow NSInteger
  • 如何使用 Vapor 和 Leaf 将图像从浏览器上传到 Amazon S3?

    我已经设置了 AWS S3 存储桶 并且可以使用 Vapor 3 和 Postman 上传文件 PUT request 和标头 x amz acl public read 但我想从浏览器中执行此操作 我使用的是 leaf 那么如何从浏览器上
  • 如何制作带有 SWIFT 图像的弹出窗口

    我想知道如何制作类似于此示例的弹出窗口 原始窗口充满了按钮 选择这些按钮后将拉出我想要使用的图像 我会简单地创建一个可重用的UIView组件以及作为子视图所需的一切 例如UIImageView为了你的形象 UILabel or a UIBu
  • Swift,以编程方式更改 UICollectionViewCell 和 UILabel(单元格内)的宽度

    我已将单元格 UICollectionViewCell 的宽度设置为等于 UICollectionView 的宽度 并且我尝试对该单元格中包含的 UILabel 执行完全相同的操作 我认为下面的代码准确地解释了我想要实现的目标 所以我在这里
  • AVAssetExportSession 无法导出从 iCloud 下载的视频

    我正在尝试创建从用户相册中选择的视频的缩小版本 输出的最大尺寸为 720p 因此 在检索视频时 我使用 mediumQualityFormat as the deliveryMode 如果用户设备中不存在原始视频或其中等质量版本 这会导致
  • Objective-C 中发送给对象的消息可以被监听或者打印出来吗? [复制]

    这个问题在这里已经有答案了 可能的重复 Objective C 中拦截方法调用 https stackoverflow com questions 1618474 intercept method call in objective c 如
  • Firebase ref.removeAllObservers() 是否也会递归删除子观察者?

    我看到了一些与此相关的问题 但没有一个真正证实了我的疑问 If I removeAllObservers 在父节点上 这是否也会递归地删除可能已附加在所有子节点和子节点的子节点等处的所有其他观察者 递归地 API 文档为removeAllO
  • 如何使用 RX 应用宽限时间?

    我有一个Observable
  • 在 Swift 中从 Parse 加载图像

    我成功地将数据从 Parse 提取到 swift 中 但我的图像似乎没有按照我的方式工作 在我的 cellForRowAtIndexPath 方法中 我执行以下操作 var event AnyObject eventContainerArr
  • 像 TraceGL 一样分析 Objective C 中的代码路径?

    TraceGL 是一个非常简洁的项目 它允许 JS 程序员跟踪 Javascript 中的代码路径 它看起来像这样 我想为 Objective C 构建类似的东西 我知道运行时使跟踪方法调用变得相当容易 但是我如何跟踪控制流 例如 在上面的

随机推荐

  • 如何将Delphi IDE中的默认文件格式设置为UTF8?

    Delphi 2009 将新源代码文件的默认文件格式设置为 ANSI 这使得源代码与平台相关 即使对于在 IDE 中创建的新 XSD 文件 默认情况下也以此行开头 Delphi 将文件格式设置为 ANSI 这看起来像是一个错误 对于新的 X
  • 将 JsonConverter 转换为 System.Text.Json 以支持多种基元类型和可为 null

    我正在尝试将此 Newtonsoft Json JsonConverter 转换为 System Text Json 但是 我只能使用单个基本类型 例如 double 即使在那里我也无法将转换器应用于可空 double 如何将其转换为支持可
  • Elixir 的“混合格式”配置选项

    我试图找到一个混合格式的可配置选项列表以放入格式化程序配置文件中 但我一生都找不到它 它不在混合格式文档或我看过的其他任何地方 有人知道我在哪里可以找到这些信息吗 事实证明mix format没有太多的选项可以设置 你在上面看到的混合文档页
  • java中的String hashCode是预先计算好的吗?

    当我说Java时 String str abcd str hashCode 我的问题是Hashcode什么时候计算 第1行还是 第2行 我假设哈希码是预先计算的 每当字符串更新时 哈希码也会 也许 更新 或者是另一种方式 即每次你打电话时s
  • 如何定位数组中的负数,以获得所有正数的总和?

    我试图弄清楚如何定位数组中的负数 我有这个 function SummPositive array SummPositive 1 2 3 4 5 2 23 1 13 10 52 这是一个包含负数和正数的数组 当我不知道数组中有多少个负数时
  • php:按键值迭代函数参数

    我有一个 php 函数function foo bar1 bar2 bar3 是否有可能获取参数名称和值动态地 I found func get args http php net manual de function func get a
  • 我可以使用 Google Script API 部署绑定脚本吗

    Google 最近发布了新的 Google Script API 我认为这是一个实现期待已久的项目的好机会 上下文如下 企业 GSuite 域中的一些用户共享约 100 张具有相同目的的表 我想用侧边栏来增强这些工作表 以显示附加信息等 我
  • 如何在 Qt 中解析 XML 字符串

    我正在开发一个应用程序 在创建 Web 服务后 我收到了来自服务器的响应 该响应位于 XML 标记中 响应 r n
  • 递归地应用复杂的泛型类型

    谢谢一个答案 https stackoverflow com questions 58409603 generate a type where each nullable value becomes optional来自 Nit 我有一个通
  • 在reactjs中将字符串作为html

    我有一个返回多行 html 的函数 如下所示 render function var badges user get achievements badges map function badge var str h3 span span h
  • 在命令窗口中禁用自动滚动

    我在 Matlab 中编写的许多代码都有非常详细的输出 当程序运行时 信息被打印到命令窗口 并且每换行一次 窗口就会自动滚动到底部 当我想更仔细地阅读一些输出或向上滚动以查看较旧的输出时 这会成为一个问题 我可以向上滚动 但只能直到打印出新
  • 在 Delphi 中通过 COM 对象使用 .Net 类有时会挂起

    我有一组用 Delphi NET NET 1 1 编写的库 我想在我的 Win32 Delphi 应用程序中使用它们 对于与性能相关的问题 我决定采用 COM 路线 有时 在重建 DLL 后 当我尝试实例化通过 COM 公开的对象时 Win
  • 如何在没有配置的情况下设置分页链接的样式 - codeigniter

    我有以下分页样式 ul class pagination li a href i class fa fa long arrow left i Previous Page a li li class active a href 1 a li
  • 我有一个程序,我想比较带来日期并带来所需的数据

    我将所有详细信息写在我有两个名为 GAZZETED DAYS 的表 其中包含列 GAZZETED DATE DESCRIPTION PAY IN OUT 包含列 EMP CODE ATT DATE 请检查我已经粘贴在 dbfiddle 中的
  • 从 Azure Blob 存储下载文件

    我有一个应用程序 允许用户上传存储在 Azure Blob 存储中的照片 用户还可以查看这些照片 要查看它们 我们希望应用程序将图像下载到默认下载位置 目前 上传工作完美 但我发现Azure API的下载功能似乎没有做任何事情 另外 我无法
  • 在显示用户数据的视图表中更改和保存 mysql 用户数据

    我有一个表 显示从 mysql 表中获取的用户数据 我希望使其可以在该表的单元格内编辑 我已经使用 php 在 文本 类型输入字段中显示数据 如代码所示 为了重新提交更改的数据 我将表行包装在表单中 但问题是表单数据没有重新提交 我想让用户
  • Fluent nHibernate 自动映射属性为 nvarchar(max)

    使用流畅的 nhibernate 和自动映射 nhibernate 创建我的数据库模式 我如何让 nhibernate 基于以下类在数据库中创建 nvarchar max 列 public class VirtualPage BaseEnt
  • C# 中的动态字符串格式化

    我创建了接受字符串的 log 方法 当我想使用它时 我会写这样的内容 Log string Format Message 0 AdditionalInfo 我应该如何实施Log方法以便能够使用字符串Format但不必在方法参数中显式编写 L
  • 404 Not Found,但 Laravel 5.4 中存在路由

    我正在使用 PhpStorm 我可以运行并打开index php 但是当我想按提交按钮 登录后 时 它显示 404 未找到 在 Windows 10 上运行的 Web 服务器 Apache 2 4 这是我的家 这是我的路线 我不完全确定为什
  • .dynamicType 已弃用。使用“类型(...)”代替

    我刚刚更新到 Xcode 8 和 iOS 10 使用旧版 Swift 语言版本 尝试再次编译我的项目一直是一种痛苦 即使仍然使用旧的 Swift 语法 这次我的函数之一使用NSBundle forClass self dynamicType