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