问题标签 [swift5]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1487 浏览

swift - Swift randomFloat 问题:“4294967295”不能完全表示为“Float”

生成随机 CGFloat 时,我使用以下代码。这里有一些解释

以前没问题。现在工作正常。

升级到 Swift 5 后出现警告。

'4294967295' 不能完全表示为 'Float';它变成'4294967296'

到代码行

如何解决?

0 投票
1 回答
34 浏览

xcode - 如何在 UIPickerView 中设置默认的“顶部”值?

这看起来很简单,但我在网上找不到 - 基本上我有一个 pickerView ,其中一些内容按字母顺序排序。但我希望最高价值说“选择一个选项:”。我不能只是将它添加到我的数组中,因为它已排序,因此它会显示为“P”

我该怎么做呢?

如果重要,选择器的值来自字典中的键

所以我基本上想要一个写着“选择一个选项:”的键,但它显示在选择器的顶部

0 投票
1 回答
242 浏览

ios - iOS 12.2 MPMusicPlayerController 报告不正确的播放状态

MPMusicPlayerController 在歌曲到达结尾时将播放状态报告为暂停,并且在歌曲排队后也将播放状态报告为暂停,即使在显式调用.Stop().

这种行为以前不存在,现在导致我的排队代码出现问题,该代码使用playbackState == .stopped.

我已经设置了一个通知中心处理程序,MPMusicPlayerControllerPlaybackStateDidChange它调用一个函数来测试播放状态是否是.stopped,该函数又调用一个委托函数来提醒我的应用程序的其他方面(传输状态,从应用程序的队列中删除歌曲,对后续曲目进行排队,等)这首歌已经完成。

在此更新之前,此行为很好。

任何人都可以启发我解释更改的发行说明,或提供有关如何正确检测歌曲结尾的指导吗?

我尝试将当前播放位置与歌曲的持续时间进行比较,但它们似乎从未对齐。当前播放位置似乎总是比持续时间短几秒钟。我尝试比较 TimeIntervals(分辨率太高)以及使用格式化程序将它们转换为字符串并进行比较(看到时间在 UI 中正确报告)。

我还应该提到我已经尝试过测试nowPlayingItem为零,但当前曲目没有被删除(也是问题的一部分,但我目前将它们视为相关)。

0 投票
1 回答
582 浏览

sqlite.swift - 迁移到 Swift 5 后 SQLite.swift 出现问题

我使用 SQLite.swift,升级到 Swift 5 后,库中出现错误。请帮我重写方法。

错误:

代码:

0 投票
2 回答
472 浏览

ios - 使用乘数的 Swift 约束与尾随但不领先

我有以下两个文本 Timer 约束工作正常。但是,当仅使用前导约束对 Score 执行相同操作时,它就会卡住。

任何人都知道我错过了什么?

在此处输入图像描述 在此处输入图像描述

0 投票
2 回答
858 浏览

swift - Swift 5 结果类型

在 Swift 5 Apple 中引入了Result类型。它是具有两种情况的通用枚举:

就我个人而言,我曾经在网络调用success: Completion和中使用两个单独的完成failure: Completion,但从我现在看到的情况来看,Apple 推动我们使用带Result类型的单一完成,然后在内部执行 switch。那么这种方法有什么优点Result呢?因为在很多情况下我可以省略错误处理而不写 this switch。谢谢。

0 投票
2 回答
932 浏览

ios - 为什么@unknown default (Swift 5) 会导致编译错误?

我想我理解@unknown default 背后的逻辑,我为截图而不是代码道歉,但这是在上下文中查看错误消息的唯一方法。

将项目转换为 Swift 5。它运行,但收到​​此警告,我理解:

在此处输入图像描述

所以我让 Xcode 为我修复它,并得到了这个:

在此处输入图像描述

我更改了存根案例的顺序(这是一项正在进行的工作),这让编译器再次感到高兴:

在此处输入图像描述

我是在做我不应该做的事情,还是这种奇怪的编译器行为?

0 投票
1 回答
12959 浏览

swift - 从 Swift 3.x 转换为 5

当我在 Xcode 10.2 中打开我的项目时,我收到了这条消息:

不支持的 Swift 版本……使用 Xcode 10.1 将代码迁移到 Swift 4。

我在哪里还能找到 Xcode 10.1?所以过程是要有 2 个版本的 Xcode,先迁移到 Swift 4,然后迁移到 5?

PS:如果我将代码迁移到 Swift 5,应用程序是否仍然捆绑 Swift 二进制文件?如果是,那么该应用程序仍然捆绑 Swift 二进制文件有什么好处?如果不是,那么它如何处理 iOS 11.x?

0 投票
2 回答
69 浏览

swift - Swift:如何将 AnyObject.Type 作为参数?

下面有一个代码:

我想将此代码提取为一个函数

但它不工作。怎么做?

0 投票
1 回答
37 浏览

xcode - NSInteger 0+0=4300282608

我正在开发一个简单的计算器应用程序来了解 OSX 开发的工作原理(这不是家庭作业)。当addAction(_ sender: NSButton)被触发时,它将currentCountandamountToAdd一起添加,然后更新currentCountand 将其设置为currentCountLabel.

问题:当应用程序首次启动currentCountamountToAdd设置为 0 但加在一起时等于 4,300,282,608。如果我在添加之前点击清除按钮,它等于 0,这是正确的。

问题:如何更改代码第一次进行正确的计算。看来是选角问题。

在此处输入图像描述

上传图像后,当前计数最终成为每次运行的随机数......