Callback
Callbacksコードで直接関数を呼び出すのではなく、トリガなどの特定のイベント時に関数を呼び出す 1. property : () -> ()・ 2. property : (Shape) -> ()
パラメータ
// 공의 위치를 굴뚝으로 이동시킨다.
func dropBall() {
circle.position = funnel.position
}
onTapped
のタイプ:() -> ()
(パラメータX、X関数を返します)dropBall()
パラメータや戻り値がないのでonTapped
タイプと同じdropBall()
コールバック関数に割り付け可能// 굴뚝을 터치 시 dropBall() 함수 실행
// funnel.onTapped = dropBall() (X)
funnel.onTapped = dropBall
< control modifier >public
:APIユーザーがアクセスできる属性private
:APIユーザーアクセス禁止// 공이 다른 물체와 충돌 시 다른 물체의 색을 초록색으로 변경
func ballCollided(with otherShape: Shape) {
otherShape.fillColor = .green
}
onCollision
のタイプ:(Shape) -> ()
(パラメータ:Shapeタイプ、リターンX関数)ballCollided(with:)
ShapeタイプのパラメータがあるのでonCollision
タイプと同じballCollided(with:)
コールバック関数に割り付け可能// 충돌한 물체가 파라미터로 입력된다.
// ball.onCollision = ballCollided 가능하지만 권장하지 않음
ball.onCollision = ballCollided(with:)
3. function parameter : () -> ()completion
のタイプ:() -> ()
presentAlert(text:completion:)
運転->新関数呼び出しscene.presentAlert(text: "You won!", completion: alertDismissed)
# 알람이 울린 후, 아무 일도 일어나지 않음
func alertDismissed() {
}
Reference
この問題について(Callback), 我々は、より多くの情報をここで見つけました https://velog.io/@j00hyun/Callbackテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol