iOS프로그래밍 (2학년 2학기)

241205 iOS프로그래밍기초 14주차

Z2AE 2024. 12. 5. 15:30

타인의 앱을 가져오는 방법

ViewController를 복사한 후, 나의 프로젝트에 붙여넣기 한다.

아래 사진처럼 왼쪽 맨아래의 +부분을 눌러서 cocoa touch class로 새로운 파일을 만든다.

viewcontroller파일을 이름에 맞게 만들었으면 소스와 액션을 수정한 후, tab bar도 연결하여 처리하면 된다.

 

지금까지 배웠던 언어 중 클로저(Closure)를 지원하는 프로그래밍 언어

  1. JavaScript
  2. Python
  3. Java (Java 8 이상)
  4. C# (C# 2.0 이상)
  5. Swift
  6. PHP (PHP 5.3 이상)

디폴트 인자(매개변수) - self.present(playerController, animated: true) player.play()

매개변수도 없고 리턴값도 없는 함수를 세번째 인자에 넣어야 한다.

nil 부분

iOS에서 후행 클로저를 자주 사용하는 함수
UIView.animate(withDuration:animations:) - 애니메이션을 구현할 때 가장 흔히 사용되는 함수입니다.

UIView.animate(withDuration: 0.3) {
    view.alpha = 0
}


DispatchQueue.main.async - 메인 스레드에서 비동기 작업을 수행할 때 사용합니다.

DispatchQueue.main.async {
    self.tableView.reloadData()
}


기본 코드

func add(x: Int, y: Int) -> Int {
    return (x+y)
}
print(add(x: 10, y: 20))

closure를 만드는 법

1. func 와 함수이름을 지운다.

(x: Int, y: Int) -> Int {
    return (x+y)
}

2. 변수나 상수에 대입하고 중괄호의 위치를 바꾼 후 출력한다.

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

일반적인 함수처럼 호출하게 되면 argument가 필요하지 않다.

 

후행 클로저(trailing closure)

클로저가 함수의 마지막 argument라면 마지막 매개변수명(cl)을 생략한 후 함수 소괄호 외부에 클로저를 작성

 

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

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

 

Personal Project 

BMI45-LSY.zip
0.18MB

 

참고자료 : 한성현 교수님 수업자료