클로저를 처리하는 메서드를 만들고 싶습니다. 폐쇄는 메서드 호출을 포함하고 내 폐쇄 방법은 순서대로 실행해야한다, 예를 들면 :어떻게이 폐쇄문을 작성 하시겠습니까?
when("I tap the Get Coffee button")
{
_ in
self.tap(p.button1)
self.wait(1)
self.tap(p.button1)
return true
}
그리고 내 (간체) 폐쇄 방법 :
:이 오류가 발생cannot convert value of type '(_) -> _' to expected argument type '(() -> Bool)?'
public func when(_ name:String, closure:(() -> Bool)? = nil)
{
if let c = closure
{
_ = c()
}
}
이 함수가 작동하려면 closure 인수에 어떤 유형을 정의해야하는지 이해할 수 없습니다.
when("I tap the Get Coffee button")
{
_ in
tap(p.button1)
wait(1)
tap(p.button1)
return true
}
폐쇄가 선택하게하는 점은 무엇입니까? 클로저없이'when' 메서드를 호출 할 수 있습니까? – rmaddy
그리고 반환 값을 무시하기 만한다면 왜 Bool의 리턴 타입으로 클로저를 정의해야합니까? – rmaddy
@maddy 두 가지 모두에 대한 이유가 있으므로, 나는 썼다 (단순화). – BadmintonCat