相关疑难解决方法(0)

Swift编译器错误:字符串连接上的"表达式太复杂"

我觉得这比任何事都更有趣.我修好了,但我想知道原因.这是错误:DataManager.swift:51:90: Expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions.为什么抱怨?这似乎是最简单的表达方式之一.

编译器指向该columns + ");";部分

func tableName() -> String { return("users"); } 

func createTableStatement(schema: [String]) -> String {

    var schema = schema;

    schema.append("id string");
    schema.append("created integer");
    schema.append("updated integer");
    schema.append("model blob");

    var columns: String = ",".join(schema);

    var statement = "create table if not exists " + self.tableName() + "(" + columns + ");";

    return(statement);
}
Run Code Online (Sandbox Code Playgroud)

修复是:

var statement = "create …
Run Code Online (Sandbox Code Playgroud)

xcode functional-programming compiler-errors ios swift

139
推荐指数
3
解决办法
4万
查看次数

Xcode 8执行完整的项目重建

将Swift + ObjC项目更新到Xcode 8(Swift 2.3)后,我发现50%或更多的时间Xcode完全重建项目而不是增量构建.

所做的更改是添加简单的打印语句.似乎没有关于何时执行完全重建的逻辑.

它出现在"检查依赖关系"阶段,它决定了这一点.在Xcode 7上,这似乎不是问题.

有人遇到过这种情况么?

swift xcode8 xcode8-beta6

50
推荐指数
4
解决办法
1万
查看次数

XCode 8非常慢的快速编译

自从Swift 3和XCode8以来,我的项目编译速度非常慢.每次我添加一个空行到文件,重新编译需要一整分钟.当我检查输出时,没有特定的文件需要很长时间.(我也用这个工具测量它:https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode)

它似乎总是一次编译4个文件."节奏"非常稳定.只是很慢......

另外:每当我打开或切换文件时,可能需要很长时间才能获得自动完成或错误/警告.

我可以检查什么?我几乎觉得我设置了一些标志,只是像疯了一样拖慢构建速度.

编辑: 这不是解决潜在问题的方法,但我花了一些时间将更多代码转移到框架上.这产生了不同(仅仅因为它每次都必须重新编译更少的文件).这不应该是必要的,但它无法忍受......我当然仍然非常期待一个正确的解决方案.

xcode ios swift swift3 xcode8

36
推荐指数
3
解决办法
2万
查看次数

Swift构建总是在Docker中构建整个包

使用像这样的Dockerfile时:

FROM swift:latest
RUN mkdir foo && cd foo && swift package init
RUN cd foo && swift build && swift build
RUN cd foo && swift build
Run Code Online (Sandbox Code Playgroud)

当第3步运行时,swift build将仅编译应用程序一次,因为第二次执行将只使用已构建的对象,并且输出将是单个Compile Swift Module 'foo' (1 sources)

然而,在运行第4步时,它似乎忽略了已经构建的任何内容,并重新重建整个事物,尽管没有任何改变且没有干净.我已经尝试过运行a RUN ls /foo/.build && ls /tmp,一切似乎都已到位.

我想要实现的是设置我的图像,所以我首先从git克隆项目,构建它(所以这个"基础"层由docker缓存),然后COPY在本地机器的任何更改中构建只是新的更新,但最终建立整个项目2次.

任何的想法?

编辑:这是我的实际Dockerfile的样子:

FROM swift:latest
RUN git clone git@foo.com/foo.git
RUN cd /foo && swift build
COPY . /foo
RUN cd /foo && swift build
Run Code Online (Sandbox Code Playgroud)

理想情况下,前三层将保持缓存,最后两层只会构建新的更改,而不是最终重建整个项目

docker swift

8
推荐指数
1
解决办法
211
查看次数

XCode 7.3.1挂起"复制swift标准库"

由于我已经更新到XCode 7.3.1,我无法运行我的项目,因为它挂起了"复制Swift标准库"步骤(来自IDE和命令行).如果我尝试打开项目配置文件或者创建一个新的Swift项目,它也会崩溃.

有谁知道为什么会这样?

我正在使用OSX 10.11.6在Mac mini(2012年末)上运行XCode


解决了
最后解决了重新安装XCode和SDK.
谢谢大家的答案.

xcode swift ios9

5
推荐指数
2
解决办法
5133
查看次数