Swift 3.0 XCTest.performTest(_:) #选择器
Swift 3.0 XCTest.performTest(_:) #selector
在 Swift 2.3 中 [XCTest performTest:]
被翻译成 Swift 作为 public func performTest(run: XCTestRun)
在 Swift 3.0 中变为 open func perform(_ run: XCTestRun)
通过此更改,我无法尝试获取方法选择器(即使遵循建议 https://bugs.swift.org/browse/SR-1016 and https://bugs.swift.org/browse/SR-1033)。
#selector(XCTest.perform(_:)) -> matches NSObject's performSelector
#selector(XCTest.perform as (XCTestRun) -> Void) -> ambiguous reference to member 'perform'
#selector(XCTest.perform(_:) as (XCTestRun) -> Void) -> cannot convert value of type '(Selector!) -> Unmanaged<AnyObject>!' to type '(XCTestRun) -> Void' in coercion
如何正确获取 performTest
选择器?
唉,XCTest.perform(_:)
的类型是柯里化的,所以需要丑陋的:
#selector(XCTest.perform(_:) as (XCTest) -> (XCTestRun) -> Void)
在 Swift 2.3 中 [XCTest performTest:]
被翻译成 Swift 作为 public func performTest(run: XCTestRun)
在 Swift 3.0 中变为 open func perform(_ run: XCTestRun)
通过此更改,我无法尝试获取方法选择器(即使遵循建议 https://bugs.swift.org/browse/SR-1016 and https://bugs.swift.org/browse/SR-1033)。
#selector(XCTest.perform(_:)) -> matches NSObject's performSelector
#selector(XCTest.perform as (XCTestRun) -> Void) -> ambiguous reference to member 'perform'
#selector(XCTest.perform(_:) as (XCTestRun) -> Void) -> cannot convert value of type '(Selector!) -> Unmanaged<AnyObject>!' to type '(XCTestRun) -> Void' in coercion
如何正确获取 performTest
选择器?
唉,XCTest.perform(_:)
的类型是柯里化的,所以需要丑陋的:
#selector(XCTest.perform(_:) as (XCTest) -> (XCTestRun) -> Void)