[패스트캠퍼스] 나만의 iOS 앱 개발 입문 1주차

920·2022년 1월 26일
0

나만의 ios 앱 개발

목록 보기
1/1

패스트캠퍼스 나만의 ios 앱 개발 입문을 시작하게 됬다.
K디지털크래딧(내일배움카드)을 사용하여 무료로 강의를 들을 수 있는 기회가 생겨 늘 궁금했던 ios를 듣기로 결심했다. 스스로 나태해지지 않기 위해 공부한 내용을 올리는 자기개발 챌린지도 같이 도전하기로 했다!(사실 챌린지 일정을 깜빡해서 인정은 되지 않겠지만 올려본다..ㅎ)

1주차에는 xcode를 사용하여 swift 기본 문법들을 알려주는 내용이었다.
내가 주로 사용하는 언어는 javascript여서 js와 다른 점을 발견하면서 듣게 됬다 :)
(Boolean, Scope, Var/let 등 기본적인 개념들은 여기서 생략하겠다!)

playground

xcode에서 제공해주는 기능으로 간단한 소스를 실행해서 결과를 확인할 수 있게 해준다.
File > New > playground 선택하게 되면 아래이 playground를 실행할 수 있다.

가장 왼쪽 코드 줄에 마우스르 가져다대면 파란색으로 표시되면서 play 버튼이 생긴다. 그 버튼을 클릭하면 실행된다!

Function

자바스크립트랑 비교하자면 아래와 같은 점이 다르다. (물론 1, 2번은 typescript를 사용하면 익숙할 수 있다.)

  1. 반환되는 경우와 아닌 함수가 선언되는 타입이 다르다.
  2. 인자도 타입을 지정해준다.
  3. 인자를 숨길 수 있다.
  4. overload라는 개념이 존재한다.
  5. In-out개념이 존재한다.

인자를 숨겨라

인자를 숨기기 위해선 _를 파리미터 앞에 넣어주면 된다.

import UIKit

func printMultipleOfTen(value: Int) {
    print("\(value) * 10 = \(value * 10)")
}

func printMultipleOfTenNoParam(_ value: Int) {
    print("\(value) * 10 = \(value * 10)")
}

printMultipleOfTen(value: 5)
printMultipleOfTenNoParam(5)

overload

동일한 명칭이지만 사용되는 파라미터 타입, 수에 따라서 다른 함수처럼 작동하는 기능하다.
아래 작성된 함수는 명칭이 동일할 뿐 서로 다른 함수처럼 작동한다.

func printTotalPrice(price: Int, count: Int) {
    print("Total Price: \(price * count)")
}

func printTotalPrice(price: Double, count: Double) {
    print("Total Price: \(price * count)")
}

func printTotalPrice(가격: Double, 개수: Double) {
    print("Total Price: \(가격 * 개수)")
}

In-out

swift에서 파라미터는 상수라서 함수 내부에서 값을 변경할 수 없다.
함수 내부에서 파라미터 값을 변경하고 싶은 경우에 사용되는 개념이다. (마치 C++ 참조같은 개념처럼 사용되는 것 같다)

func incrementAndPrint(_ value: inout Int) {
    value += 1
    print(value)
}
var value = 3

incrementAndPrint(&value)
profile
프론트엔드 개발자의 시시콜콜한 개발 이야기

0개의 댓글