앱 개발 공부방

swift-클로저 본문

iOS swift

swift-클로저

춘행이 2022. 2. 28. 21:24
728x90

 

클로저

코드에서 전달 및 사용할 수 있는 독립 기능 블록이며, 일급 객체의 역할을 할 수 있다

일급 객체라서 전달 인자로 보낼수 있고 변수 상수에 저장하거나 전달 가능하고 함수의 반환 값이 될 수 도 있다

 

기본형

{ {매개 변수) -> 리턴 타입 in
실행 구분
}

 

//파라미터와 리턴타입 둘다 없는 클로저

let hello = { () -> () in
	print("helle")
}

hello() //hello

//파라미터와 리턴타입 있는 클로저

let hello2 = { (name: String) -> String in
	return "hello, \(name)"
}

hello2(name: "choi") //에러
hello2("choi") //hello choi

//함수의 파라미터가 클로저

func doSomething(closure: () -> ()) {
	closure()
}

doSomething(closure: { () -> () in 
	print("hello")
})//hello

//간략화
doSomething() {
	print("hello2")
}


//반환타입이 클로저
func doSomething2() -> () -> (){
	return { () -> () in
    	print("helle4")
    }
}

doSomething2()()//hello4

 

728x90

'iOS swift' 카테고리의 다른 글

swift-AutoLayout  (0) 2022.03.02
swift-UIkit,ViewController  (0) 2022.03.02
swift-함수  (0) 2022.02.28
swift-조건문 반복문  (0) 2022.02.24
swift-optional(옵셔널)  (0) 2022.02.24
Comments