1
banxi1988 2015-04-28 09:40:35 +08:00 1
我遇到过这个问题:
其实你的问题更详细的说法是: Release编译模式下,编译失败,不信的话,你使用Release编译时也会出错的. 鉴于你没有贴出具体的错误. 那我就根据我之前遇到的错误说一下吧: 1. Swift 为主的项目, 2. 提示编译出错的也是一个 Swift 源代码文件. 3. 提示应该是循环引用导致的编译错误, 根据出错的编译错误的文件, 删除可疑的代码 然后就OK了,并找出了引起错误的代码,分分钟修正.(找出错误的代码花了一天时间 ---哭) 本来是想分享出来 的. 但是在构建一个简单的可重现的问题的小项目时,发现问题不能重现 所以,如果你的搞个小Demo出来重现这个问题,我将是感激不尽的. 最后: 提问没有具体的错误信息, 这样不好.. |
2
onevcat 2015-04-28 09:43:25 +08:00 2
如果是 Swift 的话,着急没时间找就把优化先关了,直接 release 也用 -Onone 优化。这种一般是 Swift 的编译器的 bug,提个 radar 等 Apple 修吧。
|
3
banxi1988 2015-04-28 09:50:47 +08:00
@onevcat 我也遇到过,但是当我想创建一个小Demo来重现此错误时,没能重现.
没有能重现的错误, 也没没好报Bug了. 我的错误情况是: 1. 循环引用的错误(子引用父的时候,已加了weak) (Parent 1---> N Child) 2. 实现Child 和 Parent 都实现Equatable协议. ``` func ==(lhs:Parent,rhs:Parent) -> Bool{ return (lhs.name == rhs.name && lhs.age == rhs.age && lhs.children == rhs.children ) } ``` 如上: 将 lhs.children == rhs.children 的比较删除即可. |
4
xuming OP |