访问func中定义的内部类中的局部变量

时间:2014-10-22 09:46:19

标签: swift

我已经创建了一个单元测试辅助函数,但是我没有看到如何访问函数内部类中的本地作用域输入参数:

我想在内部MockRentalsService类

中访问'error'
func rentalsServiceWhichThrowsError(error: RentalError) -> Rentals {
    class MockRentalsService: Rentals {
        func rentalList(completionHandler:(rentalListResponse:RentalListResponse) -> Void ) -> RentalListCached {
            completionHandler(rentalListResponse: RentalListResponse.Error(error))
            return nil
        }
    }
    let rentalsService = MockRentalsService()
    return rentalsService
}

swift编译器根本不喜欢这个 - 只是给我一个Segmentation fault 11

1 个答案:

答案 0 :(得分:0)

这就是我现在正在做的事情,这有点像kludge - 但它确实有效。

func rentalsServiceWhichThrowsError(error: RentalError) -> Rentals {
class MockRentalsService: Rentals {
    var rentalError: RentalError!
    func rentalList(completionHandler:(rentalListResponse:RentalListResponse) -> Void ) -> RentalListCached {
        completionHandler(rentalListResponse: RentalListResponse.Error(rentalError))
        return nil
    }
}
let rentalsService = MockRentalsService()
rentalService.rentalError = error
return rentalsService

}