일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 인프런강의
- Python3
- JS
- IOS프로그래밍
- 카카오톡채팅봇
- 웹크롤링
- 파이썬웹크롤링
- javascript
- 파이썬중급
- TOEFL
- 인프런오리지널
- 개발일지
- 유학토플
- 교환학생토플
- 파이썬중급강의
- 인프런파이썬
- 자바스크립트
- 스위프트문법
- 우리를위한프로그래밍
- 파이썬
- 리프2기
- 토플공부
- 인프런파이썬강의
- 노드JS
- nodeJS
- 인프런
- 교환학생준비
- swift
- 토플
- 토플공부수기
- Today
- 408
- Total
- 213,534
목록swift (6)
먹고 기도하고 코딩하라
(14) 프로토콜 프로토콜은 규약 등을 말한다. 스위프트에서는 어떤 역할 수행을 위한 메소드, 프로퍼티, 이니셜라이저 등의 요구사항을 정의한 것이다. 자바 언어의 인터페이스 같은 느낌이다. 자바에서도 클래스 설계를 할 때 일단 인터페이스를 만들고 그 인터페이스를 상속하는 클래스를 만들어 실제 구현은 거기서 하듯이 프로토콜도 그런 느낌이 아닐까 하는 생각이 든다. 프로토콜을 확장하는 것도 가능한데, 익스텐션에서 더 자세히 살펴보기로 한다. 프로토콜은 클래스나 구조체처럼 생겼다. protocol Talkable { var topic: String { get set } var lang: String { get } // 타입 프로퍼티는 static 키워드로 선언 가능 // static var typeProper..
(11) 옵셔널 체이닝 옵셔널 체이닝은 nil일 수도 있는 프로퍼티, 메소드, 서브스크립트에 질의하는 과정이다. 이 포스팅에서 다루는 주제는 구조체/클래스/열거형의 연장선상인 셈이다. 여러 질의를 연결할 수도 있는데, 그 질의문 중 어느 하나라도 값이 nil이면 전체 결과는 nil이 된다. 옵셔널이 연속으로 연결되는 경우에 유용하게 쓸 수 있다. 옵셔널 체이닝은 옵셔널값 뒤에 ?를 붙여서 표현할 수 있다. 옵셔널 체이닝 값은 항상 옵셔널값이 된다. 이 값을 보면 옵셔널 체이닝이 잘 됐는지 아니면 nil이 반환됐는지를 알 수 있다. 이 예제는 스위프트 가이드보다 야곰님 강의가 더 보기 좋을 거 같다. 그 예제를 보자. 옵셔널 체이닝의 설명을 보면 알 수 있다시피 구조체, 클래스 등에서 쓸 수 있는 것이기 ..
저번 포스팅에서 함수와 어려운 클로저, 옵셔널 값, 조건/반복문을 살펴봤다. 이번에는 값들을 묶을 수 있는 구조체와 클래스, 열거형을 알아보자. (8) 구조체 스위프트 구조체는 상속이 불가한 값 타입이다. 값 타입이란 상수, 변수에 전달될 때 값이 복사되어 전달되는 것이지 레퍼런스가 넘어가는 것이 아니라는 뜻이다. 상속이 필요없을 때 쓰기 좋은 자료형이다. struct 키워드로 선언할 수 있다. struct Sample { // 일반적인 인스턴스 저장 프로퍼티 // 항상 같은 초기값을 갖는다면, 프로퍼티 선언과 동시에 값을 할당하는 것이 좋음 (기본 프로퍼티) var mutProperty: Int = 100;// 가변 프로퍼티 let immutProperty: Int = 200// 불변 프로퍼티 // 타..
저번에 함수와 다소 이해하기 어려운 클로저 개념에 대해 살펴봤다. 이번에는 옵셔널 변수, 그리고 기본적인 조건/반복문을 살펴보고자 한다. (6) 옵셔널 변수 옵셔널 변수란 값이 있을 수도 있고 없을 수도(nil일 수도) 있는 변수를 뜻한다. nil의 가능성을 명시적으로 표현한 것이다. 역으로 설명하자면, 옵셔널 변수가 아니라면 그 변수의 값은 절대 nil일 수 없다. 전달받은 값이 옵셔널이 아니라면 그냥 nil 체크 안 하고 써도 된다. 옵셔널 변수는 타입 뒤에 '?'을 쓰거나 Optional을 써서 옵셔널 변수라고 선언하게 된다. 이렇게 쓰면 "이 변수엔 값이 있을 수도 없을 수도 있어~ 참고해~" 이런 뜻이 된다. var optionalString: String?; var optionalString2..
저번 포스팅에서는 기본적인 변수 선언 방식과 자료형에 대해 알아봤다. 이번에는 함수와 클로저를 알아본다. (5) 함수 (5)-(1) 선언 함수 키워드는 func 이다. func 함수이름 (매개변수 이름: 타입, 이름: 타입, ...) -> 반환형 { } 으로 나타낼 수 있다. 가령, sayHi라는 이름의 함수가 있고, String 타입의 name을 매개변수로 받아 print를 수행하는 함수가 있다고 쳐 보자. 이 때, 이름이 없다면 "John Doe"라고 하기로 하자. 그러면 이렇게 쓸 수 있다. func sayHi(name: String = "John Doe") -> Void { print("Hi, I'm \(name)."); } sayHi();// Hi, I'm John Doe. sayHi(name:..
재작년에 모바일앱 프로그래밍에서 swift를 배웠는데 복습 차 다시 공부 중이다. 올 연말까지는 앱을 잘하고 싶다. 그리고 잘할 거다! (0) swift 에는 main 함수가 없다. 세미콜론은 선택! 필수가 아니다. 큰따옴표를 이렇게 """ 3개를 쓰고 """ 3개를 써서 닫으면, 그 안에 여러 줄을 입력할 수 있다. 백슬래시를 이용해 문자를 여러 줄 쓸 수 있다. let multipleLines = """ Do or do not. \ There is no try. """ print문 안에 여러 변수들을 같이 쓰고 싶다면 +을 쓰거나 , 을 쓸 수 있다. (1) 변수 선언 swift의 변수 선언 키워드는 let 과 var 가 있다. let 이 상수, var 이 변수이다. 자바스크립트에서는 const 키워..