问题标签 [swift-compiler]

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 回答
33 浏览

swift-compiler - 带有数组连接的 Swift 编译器速度

我想了解对于程序员和编译器来说,在合理的时间内编译以下代码可能是最不痛苦的方式

它根本无法用“太复杂的类型表达式”为我编译

我添加了分析标志来构建设置并注释掉最后两部分 -Xfrontend -warn-long-expression-type-checking=100 在此处输入图像描述 显然 Swift 编译器太聪明了,无法选择阻力最小的路径,而只是按照程序员的指示将数组与显式类型声明连接起来。来自 Dart 和 TypeScript 对我来说如何解决这样的问题一点也不明显。

0 投票
1 回答
173 浏览

swift - 带有索引的 SwiftUI ForEach -“编译器无法在合理的时间内对该表达式进行类型检查”

在我正在编写的 swiftUI 视图中,我需要使用 a ForEach,访问列表的每个元素及其索引。我能找到的关于这个的大部分信息都说是用.enumerated()ForEach(Array(values.enumerated()), id: \.offset) { index, value in }

但是,当我尝试这样做时,我认为:

我得到了The compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions在线错误var body: some View {

我还注意到这段代码会导致一些其他问题,比如让 Xcode 自动完成非常慢。

有什么想法可以解决这个问题吗?这似乎是一个非常简单的观点,我认为我正在做ForEach我应该做的。

谢谢!

0 投票
0 回答
24 浏览

swift-compiler - Swift Combine Publisher - 捕捉来自 Void 发布者的错误

我有一个带有AnyPublisher<Void, Error>签名的发布者,我想在函数中执行该签名并返回一些内容以指示发布者是失败还是成功。我正在尝试找出使用什么技术来运行发布者并返回结果。

一种是像这样传入完成闭包和接收器:

但我觉得有更好的方法来做到这一点。主要是我将空闭包传递给.sink(...).

我可以只返回一个,AnyPublisher<Void, Error>但这只是将错误检查责任传递给调用代码。

那么有没有更好的方法来编写这样的函数?一些我没有注意到的组合功能?函数的不同签名?

0 投票
4 回答
1609 浏览

xcode - 归档时翠鸟 Swift 编译器错误

我正在使用xCode 13 beta4 并希望归档包含Kingfisher. 该应用程序在 下运行良好iOS 15,但是当我将其存档时出现以下错误。有人知道我应该怎么做吗?谢谢!

Swift 编译器错误.. 适用于 iOS 13 或更高版本

0 投票
1 回答
36 浏览

swift - 将 Swift 脚本编译为通用二进制文件很热

我们可以很容易地编译一个 Swift 脚本:

但是,这只适用于当前架构。

我找到了一些为多种架构构建的命令,但它们似乎需要设置一个新项目。我不想或不需要这样做,现在我只想轻松编译单个脚本文件,因此swiftc. 有没有办法做到这一点?

作为奖励,是否需要安装 Rosetta 2 才能生成通用二进制文件,或者是否可以在没有它的情况下制作它们?