【问题标题】:Swift 3.0 XCTest.performTest(_:) #selectorSwift 3.0 XCTest.performTest(_:) #selector
【发布时间】:2016-10-05 00:16:25
【问题描述】:

在 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-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 选择器?

【问题讨论】:

    标签: selector swift3


    【解决方案1】:

    唉,XCTest.perform(_:) 的类型是咖喱,所以需要丑陋的:

    #selector(XCTest.perform(_:) as (XCTest) -&gt; (XCTestRun) -&gt; Void)

    【讨论】:

      猜你喜欢
      • 2014-08-05
      • 1970-01-01
      • 2018-02-14
      • 2014-09-13
      • 2014-08-14
      • 2017-05-22
      • 2021-07-06
      • 2017-11-26
      • 1970-01-01
      相关资源
      最近更新 更多