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

2024. 12. 5. 15:30·iOS프로그래밍 (2학년 2학기)

타인의 앱을 가져오는 방법

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

 

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

저작자표시 (새창열림)

'iOS프로그래밍 (2학년 2학기)' 카테고리의 다른 글

241121 iOS프로그래밍기초 12주차  (0) 2024.11.21
241114 iOS프로그래밍기초 11주차  (0) 2024.11.14
241031 iOS프로그래밍기초 9주차  (5) 2024.10.31
241017 iOS프로그래밍기초 7주차  (1) 2024.10.17
241009 iOS프로그래밍기초 6주차  (1) 2024.10.14
'iOS프로그래밍 (2학년 2학기)' 카테고리의 다른 글
  • 241121 iOS프로그래밍기초 12주차
  • 241114 iOS프로그래밍기초 11주차
  • 241031 iOS프로그래밍기초 9주차
  • 241017 iOS프로그래밍기초 7주차
Z2AE
Z2AE
  • Z2AE
    딩코.log
    Z2AE
  • 전체
    오늘
    어제
    • 분류 전체보기 (67)
      • C++ 프로그래밍 (1학년 2학기) (12)
      • 서버프로그래밍 (1학년 2학기) (0)
      • C# 프로그래밍 (1학년 2학기) (2)
      • 프론트엔드 웹개발 (1학년 2학기) (2)
      • 데이터베이스 (2학년 1학기) (8)
      • 자료구조 (2학년 1학기) (2)
      • JAVA프로그래밍 (2학년 1학기) (7)
      • PHP쇼핑몰실무 (2학년 1학기) (2)
      • 운영체제 (2학년 1학기) (3)
      • 모바일게임개발 (2학년 1학기) (1)
      • iOS프로그래밍 (2학년 2학기) (11)
      • 네트워크보안 (2학년 2학기) (1)
      • iOS프로그래밍실무 (3학년 1학기) (11)
      • 소프트웨어설계 (3학년 1학기) (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
Z2AE
241205 iOS프로그래밍기초 14주차
상단으로

티스토리툴바