iOS 앱개발 13주

2024. 12. 5. 15:19iOS앱개발

 

다른 사람이 만든 앱을 가져오는 방법

view controller 를 클릭하고 cmd + c

 

밑에 +버튼을 눌러서 swift 파일을 SketchViewController로 지정하고 파일 생성

 

소스를 복붙후 클래스 이름을 변경시켜준다

 

스토리보드에서 뷰 컨트롤러를 선택 후 class 를 위 클래스로 매핑시켜주어야 한다

 

클로저

 

클로저를 지원하는 프로그래밍 언어 중에서 5가지를 뽑아보겠습니다:

  1. JavaScript
    • 함수가 외부 변수에 접근할 수 있는 클로저를 기본적으로 지원합니다.
  2. Python
    • Python에서도 클로저를 지원하며, 함수 내부에서 외부 변수에 접근할 수 있습니다.
  3. Swift
    • Swift는 클로저를 강력하게 지원하며, 변수의 값을 캡처할 수 있습니다.
  4. Ruby
    • Ruby에서 클로저는 Proc이나 lambda를 사용하여 외부 변수를 캡처할 수 있습니다.
  5. Kotlin
    • Kotlin은 람다식을 통해 클로저를 지원하며, 외부 변수에 접근할 수 있습니다.

클로저 예시

3번째 인자에에 매개변수도 없고 리턴값도 없는 함수를 전달할 수 있다. 이는 선택값으로 default 인자로 nil을 받는다.

 

iOS에서 많이 사용하는 후행 클로저 스타일

 

let add1 = { (x: Int, y: Int) -> Int in
    return x + y
}
print(add1(x:2, y:3))

 

함수의 마지막 인자에 클로저를 쓸 때 그 함수의 범위 (중괄호) 를 밖에다가 사용할 수 있다. 또한 argument labels를 생략할 수 있다.

func math(x: Int, y: Int, cal: (Int, Int) -> Int) -> Int {
    return cal(x, y)
}

마지막 인자인 cal은  int형 인자 2개를 받고 int를 리턴하는 함수이다

 

다음과같이 add함수를 전달하여  사용할 수 있다

print(math(x: 10, y: 20, cal: add))


또는 다음과같이 후행클로저 스타일로 사용가능하다

math(x: 10, y: 20){
    (x: Int, y: Int) -> Int in return x + y
}

 

 

'iOS앱개발' 카테고리의 다른 글

iOS 실무 2주차  (0) 2025.03.13
iOS실무  (0) 2025.03.06
iOS앱개발 12주차  (0) 2024.11.28
iOS앱개발 10주차  (6) 2024.11.14
iOS앱개발 9주차  (2) 2024.11.07