2016-10-04 92 views
0

在雨燕2.3 [XCTest performTest:]被翻譯成斯威夫特public func performTest(run: XCTestRun)雨燕3.0 XCTest.performTest(_ :) #selector

在雨燕3.0成爲open func perform(_ run: XCTestRun)

有了這個變化我被困在試圖獲得方法選擇器(甚至按照建議https://bugs.swift.org/browse/SR-1016https://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選擇器?

回答

1

唉,的XCTest.perform(_:)類型是令行禁止,這樣一個需要醜:

#selector(XCTest.perform(_:) as (XCTest) -> (XCTestRun) -> Void)