构建时出现的Swift编译器分段错误

构建时出现的Swift编译器分段错误,swift,Swift,在myUIViewExtension.swift文件的UIView中添加一个(方便的)计算的height属性会导致swift编译器出错。。。这里可能出了什么问题 0 swift 0x00000001061e5608 llvm::sys::PrintStackTrace(__sFILE*) + 40 1 swift 0x00000001061e5af4 SignalHandler(int) + 452 2 libsy

在my
UIViewExtension.swift
文件的
UIView
中添加一个(方便的)计算的
height
属性会导致swift编译器出错。。。这里可能出了什么问题

0  swift                    0x00000001061e5608 llvm::sys::PrintStackTrace(__sFILE*) + 40
1  swift                    0x00000001061e5af4 SignalHandler(int) + 452
2  libsystem_platform.dylib 0x00007fff894da5aa _sigtramp + 26
3  libsystem_platform.dylib 0xb03939841e997c88 _sigtramp + 2504775416
4  swift                    0x00000001064c8bb9 swift::NominalTypeDecl::getMembers(bool) const + 41
5  swift                    0x00000001055efab9 swift::irgen::ClassMetadataLayout<(anonymous namespace)::FindClassMethodIndex>::addClassMembers(swift::ClassDecl*) + 329
6  swift                    0x00000001055e97b2 swift::irgen::emitVirtualMethodValue(swift::irgen::IRGenFunction&, llvm::Value*, swift::SILType, swift::SILDeclRef, swift::CanTypeWrapper<swift::SILFunctionType>, swift::ResilienceExpansion) + 434
7  swift                    0x00000001056550d3 swift::SILVisitor<(anonymous namespace)::IRGenSILFunction, void>::visit(swift::ValueBase*) + 42611
8  swift                    0x000000010564a266 swift::irgen::IRGenModule::emitSILFunction(swift::SILFunction*) + 8678
9  swift                    0x00000001055cb6f8 swift::irgen::IRGenModule::emitGlobalTopLevel() + 184
10 swift                    0x00000001056376e3 performIRGeneration(swift::IRGenOptions&, swift::Module*, swift::SILModule*, llvm::StringRef, llvm::LLVMContext&, swift::SourceFile*, unsigned int) + 1859
11 swift                    0x0000000105638033 swift::performIRGeneration(swift::IRGenOptions&, swift::SourceFile&, swift::SILModule*, llvm::StringRef, llvm::LLVMContext&, unsigned int) + 51
12 swift                    0x00000001055aa65a frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 4842
13 swift                    0x00000001055a935d main + 1533
14 libdyld.dylib            0x00007fff8a82e5fd start + 1
0 swift 0x00000001061e5608 llvm::sys::PrintStackTrace(u sFILE*)+40
1 swift 0x00000001061e5af4信号处理器(内部)+452
2 libsystem_platform.dylib 0x00007fff894da5aa_sigtramp+26
3 libsystem_platform.dylib 0xb03939841e997c88_sigtramp+2504775416
4 swift 0x00000001064c8bb9 swift::NominalTypeDecl::getMembers(bool)常量+41
5 swift 0x00000001055efab9 swift::irgen::ClassMetadataLayout::addClassMembers(swift::ClassDecl*)+329
6 swift 0x00000001055e97b2 swift::irgen::emitVirtualMethodValue(swift::irgen::IRGenFunction&,llvm::Value*,swift::SidType,swift::SILDeclRef,swift::CanTypeWrapper,swift::ResilienceExpansion)+434
7 swift 0x00000001056550d3 swift::SILVisitor::visit(swift::ValueBase*)+42611
8 swift 0x000000010564a266 swift::irgen::IRGenModule::emitSILFunction(swift::SILFunction*)+8678
9 swift 0x00000001055cb6f8 swift::irgen::IRGenModule::EmitGlobalToLevel()+184
10 swift 0x00000001056376e3性能生成(swift::IRGenOptions&,swift::Module*,swift::SILModule*,llvm::StringRef,llvm::LLVMContext&,swift::SourceFile*,unsigned int)+1859
11 swift 0x0000000105638033 swift::性能生成(swift::IRGenOptions&,swift::SourceFile&,swift::SILModule*,llvm::StringRef,llvm::LLVMContext&,unsigned int)+51
12 swift 0x00000001055aa65a前端_main(llvm::ArrayRef,char const*,void*)+4842
13 swift 0x00000001055a935d干管+1533
14 libdyld.dylib 0x00007fff8a82e5fd启动+1

1。在/UIViewExtension处发出“anonname=0x7ff422892fd0”的IR SIL功能@u TFCSo6UIViewg6heightSd。swift:60:5
:0:错误:无法执行命令:分段错误:11
:0:错误:swift前端命令因信号而失败(使用-v查看调用)
命令/Applications/Xcode6-Beta.app/Contents/Developer/Toolchains/xcodefault.xctoolchain/usr/bin/swift失败,退出代码254
如果需要更多的信息来破解这个问题,请发表评论。谢谢

编辑:
下面是一个相关的.xcodeproj,它返回这个问题的编译器错误

我发现了一个简单的解决方法,直到问题在未来的Xcode/Swift构建中得到解决:

  • 只需将导致问题的所有扩展名放在正在使用的
    .swift
    文件中即可
在您提供的示例项目中,将
UIViewExtension.swift
CALayerExtension.swift
的内容放在
AppDelegate.swift


希望这能让我们编写有效的Swift代码,直到问题得到解决。

我之所以会出现这个错误,是因为我在这样做:

if(currentMeal?.State == .Deleted){

}
而不是

if(currentMeal!.State == .Deleted){

}

所以我认为if条件下的可选未展开会导致此错误

我也有此错误,我将其修复如下:

someFunction(isFlagged ? "String1" : "String2")
检查您的项目,找出哪些文件被使用了两次并删除一个,或者删除并重新添加所有文件

我的Xcode中的错误:

:0:错误:文件名“AttributedString.swift”使用了两次: “/Users/../CNJOB/CNJOB/AttributedString.swift”和 “/Users/../CNJOB/CNJOB/AttributedString.swift”

:0:注意:文件名用于区分私有 同名声明

:0:错误:文件名“APIClient.swift”使用了两次: “/Users/../CNJOB/CNJOB/APIClient.swift”和 “/Users/../CNJOB/CNJOB/APIClient.swift”

:0:注意:文件名用于区分私有 同名声明

命令/应用程序/Xcode 3.app/Contents/Developer/toolschains/xcodefault.xctoolschain/usr/bin/swiftc 失败,退出代码为1


在我的例子中,这个错误是因为我对变量使用了类名

var MYClass : MYClass {
    get {
        return.....
    }
}
这解决了我的问题

var myClass : MYClass {
    get {
        return.....
    }
}

我在这样一条语句中遇到了编译器分段错误:

someFunction(isFlagged ? "String1" : "String2")

我只是做了一个if-else语句,它就工作了。

在我的例子中,字符串插值过程中放错了冒号,破坏了我的代码(XCode 6.1.1)

例如:

println("\(value1:value2)") 
当我打算做的时候:

println("\(value1) : \(value2)")

当我试图重写父类中的弱变量时,发生了这个错误

在基类中:

weak var stripeViewDelegate : StripeViewDelegate? = nil    
派生类:

override weak var stripeViewDelegate : StripeViewDelegate? = nil {
    didSet {
        self.stripeView.delegate = stripeViewDelegate

    }

当我从派生类中删除
=nil
时,错误消失了

对于我来说,以下情况导致SEGFULT,而
类型
是可选的:

switch type {
    case .aType:
        // Do Something
    default:
        break
}
这就解决了问题:

switch type {
    case .Some(.aType):
        // Do Something
    default:
        break
}
class func createByAny(instance: Any) -> ApiCollectionResponse { ... }

我在自定义UITableViewController中通过以下方法签名获得此错误

func filterContentForSearchText(searchText: String)
改为:

func filterContentForSearchText(searchText: String!)

修复了问题。

我今天发现了一些异常

class func createByAny(instance: Any?) -> ApiCollectionResponse { ... }
这就解决了问题:

switch type {
    case .Some(.aType):
        // Do Something
    default:
        break
}
class func createByAny(instance: Any) -> ApiCollectionResponse { ... }
因为“Any”类型是任意类型事件“nil”、“AnyObject”,可选,…) 它不能是可选的,它已经是可选的

typealias Any = protocol<>
typealias Any=协议

如果意外声明了类型与其名称匹配的变量,也会发生此错误:

    var sectionGroup: sectionGroup? { ... }

由于运算符函数上的无关泛型类型而遇到此错误,例如

func ==<T>(lhs: Foo, rhs: Foo) -> Bool {
  return lhs.bar == rhs.bar
}
func==(左:左,右:左)->Bool{
返回lhs.bar==rhs.bar
}

在我的情况下,删除
解决了问题。

至于我,将
private
添加到static var fixed clang crash:

private static var taskId = 0

在我的例子中,我在
func
中声明了一个
struct
。将
结构
移动到类级别解决了这个问题


既然我写了这篇文章,我记得以前在
func
s内部的
struct
有问题。这不是分段错误(Swift 1.2 beta版似乎已臭名昭著)。天哪,苹果,你在那里干什么?

我在一个扩展中遇到了同样的问题。我的分机有两个方便
//file1
import Foundation
protocol NamedSegues {
    func  executeSegueWithId(id: String) -> Void
    static func getDefault() -> NamedSegues  // This was required because of init requirement in CustomCellView
}


//file2
class CustomController: UITableViewController, NamedSegues {
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
            let cell = tableView.dequeueReusableCellWithIdentifier("CustomCellID", forIndexPath: indexPath ) as! CustomCellView

        // Configure the cell...
       //App logic...

        cell.parent = self
}

 //Mark: NamedSegues
     func executeSegueWithId(id: String) ->() {
        NSLog("Received callback to execute segue: \(id)")
        //
    }

    static func getDefault() -> NamedSegues { // I think this must be where it threw up.
        return self as! NamedSegues
    }

}


//file3

import UIKit

class CustomCellView: UITableViewCell {

    var id: String = "NoName"
    var parent: NamedSegues = NamedSegues.getDefault() // This is where it was needed.


override func touchesBegan(touches: Set<NSObject>, withEvent event: UIEvent) {
        NSLog("Touched id: \(id)")


             parent.executeSegueWithId(id) // This is where parent was used.
     }
}
    var parent: NamedSegues?
    ...
    parent?.executeSegueWithId(id)
protocol SomeProtocolName: class {
    var someProtocolVariable: String { get set }

    func someProtocolFunction(someProtocolVariable: String)
}

// MARK:
extension SomeProtocolName {
    func someProtocolFunction(someProtocolVariable: String?) {
        self.someProtocolVariable = someProtocolVariable
    }
}
myDict[town] += newZipCode + ","
myDict[town] = guaranteedValue + "," newZipCode + ","
public required init(_ args: Node...) {
}
public required init(_ args: [Node]) {
}