问题标签 [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 投票
1 回答
1007 浏览

swift - 使用 Swift 5 获取 Firestore 中字段的旧值

我试图在 Firestore 中更改字段时获取该字段的旧值。有什么方法可以访问字段更改后的先前值是什么?这是我当前的代码,我想访问旧nickName.modified并打印出新nickName的和旧的。

0 投票
0 回答
429 浏览

swift - Swift 5 转换:FRadio 代码。“没有更多上下文,表达的类型是模棱两可的”

这在 StackOverflow 的其他地方提到过,但我找不到与这里发生的事情相关的最近示例。我转换为 Swift 5,现在出现了这个错误。围绕实际错误消息有很多想法,但没有任何线索可以让我知道这一点。我在这里想念什么?

这行代码中的“表达式类型不明确,没有更多上下文”;

在 FRadioPlayer.swift: 文件中的代码中,该文件位于 GitHub 的 fethica/FRRadioPlayer 中。

0 投票
3 回答
12267 浏览

swift - Swift 5 中的异或?

我正在尝试在 Swift 5 中执行 XOR 操作。文档似乎没有在这里明确提到使用两个布尔值进行操作:

https://docs.swift.org/swift-book/LanguageGuide/AdvancedOperators.html

这可能吗?它说要使用该^操作,但尝试时出现错误:

错误相邻运算符位于非关联优先级组“ComparisonPrecedence”中

0 投票
1 回答
7965 浏览

aes - Swift 5 + kCCDecrypt (CommonCrypto):解密失败

Swift 5基于大量其他类似问题,尝试在 中编写我自己的加密/解密函数——结果惨遭失败。

我正在使用CommonCrypto+CCCrypt加密/解密(AES,256 密钥,随机 iv)。

我赞成(这太令人困惑NSData.bytes了)。withUnsafeBytesSwift 5

我的encrypt功能是这样的:

decrypt功能:

这些是基于用户“@zaph”的这个很棒的答案

虽然encrypt似乎正在工作,但decrypt失败了。

这一行具体:

所以当然我错过了一些东西,但我无法弄清楚它是什么。您可以...吗?

这是包含整个代码的 pastebin,您可以将其复制/粘贴到 Playground 中并点击播放。Swift 5是必需的:https ://pastebin.com/raw/h6gacaHX

更新
我现在遵循@OOper 建议的方法。最终代码可以在这里看到:
https ://github.com/backslash-f/aescryptable

0 投票
1 回答
922 浏览

objective-c - Swift 5 破坏了我的本机模块导出,出现错误 Swift 类扩展和 Swift 类上的类别不允许有 +load 方法

我有一个 swift 本机模块,我用 Swift 4.2 编写的,现在我更新了我的 xcode,它正在破坏我的代码错误

Swift 类扩展和 Swift 类上的类别不允许有 +load 方法

如果我没有导出我的模块,它的工作正常,但是如果我导出我的模块,@interface RCT_EXTERN_MODULE(MFobSDK, NSObject) 它会破坏我的代码。如果有人知道为什么会这样,请告诉我。

0 投票
1 回答
307 浏览

swift - 具有默认实现的 SIMD3 扩展

我有一些protocols用于vectors我的应用程序。他们有一些default implementationsextensions所以我可以为所有人实现所有添加的功能types of vectors。现在我想扩展SIMD3,Scalar == Double来实现 Vector3D 协议。Swift告诉我,如果我Scalar在扩展中指定类型,那么我还需要Vector3D为此类型添加所有依赖项。我不知道为什么当我选择关联类型时这不会自动发生SIMD3,但是好的。所以现在我有这样的事情:

一切都会自动运行,除了最后一件事:

编译器说:

但是自从我添加

它应该已经实现了所有需要的方法,并且能够继续。协议DividableByInt的继承方式几乎相同,它可以与Vector extension. 为什么BasicMathOperations不能使用实现的方法Vector extension

我知道我可以通过添加来解决这个问题

但我不想加倍这段代码,因为它已经在 中实现了extension Vector,应该从那里使用它。

最后我只想扩展SIMD3实现Vector3D。如果需要,Scalar == Double可以使用任何类型的标量。


看起来问题是因为 SIMD3 已经实现了 +、-、/、* 等函数,编译器无法确定选择哪一个。我可以从中删除默认实现Vector,这将解决 SIMD3 的问题,但是我需要为符合 Vector 的所有其他类型单独实现它。我也将它用于SCNVector3CGPoint。我不知道什么更好。也许有一些更好的解决方案,这样我就可以为除 SIMD3 之外的所有其他类型实现这个?

0 投票
1 回答
523 浏览

cocoapods - 为什么 pod 目标构建设置 Swift 语言版本号不同,我们如何在 Xcode 中修复?

我想将我的具有 pod 依赖项的小项目以及这些 pod 升级到最新的 swift 5。我确实进行了转换、测试,一切都很好。但是,我注意到在某些 pod 构建设置中有两个 swift:5 和 4.2。这在附图中进行了说明。

在此处输入图像描述

我曾尝试在另一个较小的项目中手动将 4.2 设置为 5,但目前没有遇到任何问题......

我想知道是否有人可以解释这些快速语言列的区别是什么?项目 swift 版本现在是 4.2 还是 5?另外,使两者都等于最新5的安全步骤是什么?

0 投票
3 回答
652 浏览

ios - 迁移到 Xcode 10.2 后,collectionView didSelectItemAtIndexPath 停止工作

在我安装了最新的 Mojave macOS 之后,我刚刚将我的 Xcode 升级到了 10.2 版。

Xcode 要求我将 Swift 从 3.0 迁移到更高版本,所以我选择更新到 Swift 5.0。

在对语法更改进行一些小的更改后,该应用程序已启动并运行。但是,我发现collectionView didSelectItemAtIndexPath 在模拟器或设备中停止工作,这意味着当您点击collectionView 中的某个项目时,不再调用相应的didSelectItemAtIndexPath 方法。

我多次检查了我的代码更改,我很确定语法更改与受影响的 collectionViews 无关。我可以制作一些 TagGesture 技巧来解决,但我想知道这里有什么问题。

我很确定集合视图允许用户交互,也允许选择。

这里发生了什么?

更新:

我的旧代码在迁移后完全没有变化,它看起来像这样:

我根据回答者的建议更新了以下内容。但是,仍然无法正常工作。

(我什至没有触摸xib文件,代表都正确。)

0 投票
1 回答
48 浏览

ios - 无法为 TableView 的自定义单元格设置任何属性。此外,当我在 cellsForRowAt 函数中填充表时,它返回空表

无法将属性设置为表格视图的自定义单元格。此外,无法在 cellForRowAt 函数中为自定义单元格赋值。我正在使用 swift 5 和 xcode 10.2

我还想为这个新的自定义单元格添加约束。

0 投票
1 回答
72205 浏览

xcode - “SimulatorTrampoline.xpc”想要访问麦克风

我最近升级到了 Swift 5,Xcode 版本 10.2 (10E125),在修复了一个正在进行的应用程序的一些编译问题之后,看到了这个新的和从未见过的请求。我通过直接搜索在我的项目中找不到任何证据,并且在网上没有搜索返回。项目内的豆荚也没有回报。

这让我很担心,想知道是否有人对此有任何信息。