Swift 4

[Swift] First-class citizen 알아보기 (일급 객체)

First-class citizen: 일급객체, 특정 요소가 다른 값들과 동일하게 취급될 수 있는 성질을 말한다. 일급 객체는 다음과 같은 속성을 가진다.1. 변수에 할당 가능2. 함수의 인자로 전달 가능3. 함수의 반환값으로 사용 가능4. 데이터 구조 안에 저장 가능 한 마디로 요약하면, 변수나 상수로 쓰일 수 있다는 것이다. Swift는 함수를 일급 객체로 사용한다. 따라서 함수를 변수에 할당하거나 다른 함수의 인자로 전달할 수 있고 반환값으로 사용할 수도 있다.  1. 변수를 함수에 할당변수를 함수에 할당하는 가장 기본적인 예를 보자. 해당 예시에서는 변수 greet에 sayHello 함수를 할당하였다. func sayHello(){ print("Hello")}// 함수 자체를 변수에 할당let ..

[Swift] 옵셔널 변수와 상수 사용하기

그동안 프로그래밍 언어를 배우면서 처음보는 개념이 등장했다. 대부분의 언어에 없는 개념이니 공부를 해보도록 하겠다. 옵셔널 타입은 변수 또는 상수에 값이 할당되지 않은 상황을 처리하기 위해 안전하고 일관된 접근 방식을 제공하는 것이다. - 변수 선언 시 데이터 타입 annotation 다음에 '?'를 넣는다. 아래 보이는 예제는 index 변수에 정숫값이 할당되거나 아무런 값도 할당되지 않을 수 있다는 뜻이다. 내부적으로 컴파일러 관점에서 볼 때 값이 할당되지 않으면 nil(null)값이 저장된다.var index: Int? - 옵셔널에 값이 할당되었으면 "해당 값이 옵셔널 내에서 래핑(wrapped)되었다"라고 한다. 이 값을 사용할 때는 옵셔널 데이터 타입에서 옵셔널 이름 뒤에 '!'를 두어 추출하는..

[Swift] Swift로 Hello World 앱 화면 꾸미기

해당 글은 "Do it! 스위프트로 아이폰 앱 만들기 입문 개정 7판" 책을 토대로 공부하며 작성한 글입니다. 오른쪽 상단의 +를 눌러서 label을 추가하고 name 옆에는 텍스트 필드, Send 버튼을 추가한다. 클릭이 아니라 모두 드래그로 넣는다. 스토리보드에 추가한 객체를 선택하고 내용을 변경하거나 특정 동작을 수행하도록 하기 위해서는 해당 객체에 접근할 수 있는 변수인 '아웃렛 변수'와 동작을 정의한 함수인 '액션 함수'가 필요하다.ex. 텍스트 필드에 사용자가 이름을 입력하면 입력한 텍스트를 받아 저장할 변수를 만들고 만든 변수와 텍스트 필드를 연결해줘야한다. 이러한 변수를 아웃렛 변수(Outlet Variable)이라 한다. Send 버튼을 눌렀을 때 입력한 이름을 읽어서 레이블에 출력하는 ..