내가 겪고있는 문제를 이해하는 데 어려움을 겪고 있습니다. 간단히하기 위해 UIView 메서드를 사용합니다. 기본적으로 방법을 쓸 경우스위프트 완료 블록
UIView.animateWithDuration(1, animations: {() in
}, completion:{(Bool) in
println("test")
})
잘 작동합니다. 지금, 나는 같은 방법하지만과 같이 문자열을 생성 할 경우 : 그것은 작동하지
UIView.animateWithDuration(1, animations: {() in
}, completion:{(Bool) in
String(23)
})
합니다. 컴파일러 오류 : 호출에서 매개 변수 '지연'에 대한 누락 된 인수
이제 이상한 부분이 있습니다. 실패한 코드와 똑같은 코드를 작성하면 다음과 같이 인쇄 명령을 추가하면됩니다.
UIView.animateWithDuration(1, animations: {() in
}, completion:{(Bool) in
String(23)
println("test")
})
다시 작동하기 시작합니다.
내 문제는 기본적으로 똑같습니다. 내 코드 :
downloadImage(filePath, url: url) {() -> Void in
self.delegate?.imageDownloader(self, posterPath: posterPath)
}
이 작동하지 않습니다. 하지만 내가 바꿀 경우.
downloadImage(filePath, url: url) {() -> Void in
self.delegate?.imageDownloader(self, posterPath: posterPath)
println("test")
}
심지어는 :
downloadImage(filePath, url: url) {() -> Void in
self.delegate?.imageDownloader(self, posterPath: posterPath)
self.delegate?.imageDownloader(self, posterPath: posterPath)
}
그것은 잘 작동합니다. 왜 이런 일이 발생하는지 이해할 수 없습니다. 나는 이것이 컴파일러 버그라는 것에 동의 할 만하다. 그들은 단지 하나의 표현들로 구성 될 때 스위프트의
감사합니다. 그러나 String (23)을 추가하고 같은 줄을 다시 복사하면 왜 실패하지 않습니까? String (23); 문자열 (23); ? – Wak
사실 그 대답을 명확히하는 중이었습니다. 편집을 참조하십시오. –
이 답변을 주셔서 감사합니다; 내가 이상한 이유를 알아내는 데 도움이되었습니다. "animateWithDuration '을 인수 목록과 함께 호출 할 수 없습니다 ..."오류가 발생했습니다. 이 수정 프로그램은 정확히 동일합니다. – SonarJetLens