以下代码导致Xcode中的IDE失败,swiftc抛出分段错误(11):
func testDeviceWillNotify()
{
let expectation = expectationWithDescription("Will be ready.")
class FooMock: Foo
{
func accessoryDidConnect()
{
expectation.fulfill()
}
}
// ...
}
如果我注释掉expectation.fulfill()
,一切正常。我还尝试了expectation!
和expectation?
,但是对expectation
的任何引用都会导致Xcode崩溃。
使用Xcode 6.1(6A1052d)并且非常令人沮丧。有没有人知道解决这个bug的方法?即使以另一种方式编写测试也必须这样做。
答案 0 :(得分:0)
我不知道你的代码如何工作,因为内部类必须自动捕获方法范围中的变量。
这是一种解决方法
class FooMock: Foo
{
var accessoryDidConnectFunc : (Void -> Void)?
func accessoryDidConnect()
{
accessoryDidConnectFunc ?()
}
}
func testDeviceWillNotify()
{
let expectation = expectationWithDescription("Will be ready.")
let foo = FooMock()
foo.accessoryDidConnectFunc = { expectation.fulfill() }
// ...
}