
프로그램의 흐름을 좌우하는 문법으로, 조건문과 쌍벽을 이루는 반복문에 대해 알아보자. 대다수 프로그램들이 반복적인 일을 수행하는 용도로 만들어지기 때문에 굉장히 중요한 문법이다. 사실 문법 자체는 쉽지만 이것을 어떻게 잘 활용하는 것이 코딩 능력의 척도가 되므로 창의력을 잘 사용해 보자. for for문의 경우 c-style 문법과 많이 다르다. c-style for문이 swift 2.x 까지는 있었다고 하는데 그마저도 3.0으로 업데이트 되면서 사라졌다고 한다. 또한 c-style 에는 없는 비교 연산자가 추가되었다. 처음에는 어색했는데 여러번 보니까 더 직관적인 것 같기도 하고 무엇보다 코드가 짧아진다는 장점이 있다. for index in 1...5 { print(index) } // 1 // 2 ..

프로그래밍에서 가장 중요하다고 할 수 있는 두가지. 조건문, 반복문 중에 조건문에 대해서 알아보자. swift언어는 어떤식으로 조건을 검사하고 분기를 나눌 수 있을까? if-else if-else 부터 알아보자. 다른 언어들과 개념상 크게 다른점은 없다. if 다음에 오는 조건문의 참, 거짓에 따라 뒤따라오는 코드를 실행할지 안 할지 분기가 나뉜다. let age = 18 if (age 60) { // too old } else { // can enter } 실행 코드가 2줄 이상일 때는 반드시 {}로 묶어 주어야 한다. 단 한 줄 이어도 묶어주는 게 가독성 이 더 높아지므로 한 줄도 묶어주자. 논리적으로 조건문을 통과하지 못했을 때 특..

swift의 특징 중 하나인 optional에 대해 알아보자. 생소한 문법이라 처음에는 많이 놀랐는데, 알고 보면 익숙한 기능을 간결하게 작성할 수 있도록 해주는 문법이라는 것을 알 수 있다. ? ?????????? optional 변수를 선언하는 문법이다. 즉 변수에 적용시킬 수 있는 특징이라고 볼 수 있다. let으로 선언한 변수는 값이 바뀌지 않는 상수가 되고, var로 선언한 변수는 값이 변할 수 있는 변수가 되는 것과 마찬가지로 optional로 선언한 변수는 값을 가질 수도, 가지지 않을 수도 있다. 즉, optional로 선언된 변수는 값이 없는 nil을 담을 수 있다. nil 값이 없는 “상태”를 말한다. Int 변수에 number에 0을 담는다고 해서 이 변수에 값이 없는 것은 아니다. ..

애플에서 발행한 공식 swift 학습서인 The Swift Programming Language를 공부 하면서 작성하는 포스팅. 쉬운 개념도 그냥 넘기지 말고 하나하나 곱씹어서 생각해 보면서 공부하자. swift는 2014년에 애플에서 발표한 프로그래밍 언어이며 컴파일러 언어이다. 기존에 사용하던 objective-c보다 빠르며, xcode에서는 초보자를 위해 인터프리터 처럼 동작하는 playground기능을 제공한다. 변수 기본적인 선언 방법은 c/c++과 많이 다르다. 최신 언어인 만큼 java, scala 같은 언어와 비슷한 것 같다. // attribute name : type = value let name: String = "사나" var age: Int = 24 변수의 선언은 기본적으로 위 틀..
흐름코드를 보기전에 먼저 Navigation Controller가 어떻게 동작하는지 살펴보자.Navigation Controller는 자신의 Root VC가 segue를 통해 다른 view를 보여주려고 하면 미리 정의된 특정 delegate함수를 통해 이 작업을 수행하도록 되어있다. 그리고 view transition(view전환)이 수행될 때 UIViewControllerAnimatedTransitioning이라는 프로토콜에 정의된 동작을 수행하는데 이 프로토콜을 override해서 우리가 원하는 동작을 수행하도록 변경할 수 있다. 2, 3번 동작을 override해서 우리가 원하는 모습으로 바꿀 것이다. 코드(SpreadTransitionDelegate)TransitionDelegateTransiti..
개요튜토리얼에서 배운 것을 바탕으로 간단한 프로그램을 만들어보자.프로그램은 무지개 색깔을 가진 cell들로 구성되며 해당 cell을 터치하면 그 색깔을 배경색으로 가지는 화면으로 전환된다. 이 때 선택한 cell 화면으로 전환되는 것을 자연스럽게 보여주기 위해 해당 cell이 확장되어 화면을 덮는 것처럼 보이는 시각효과를 추가한다. 준비cell을 확장한 view에서 다시 collectionView로 되돌아오는 기능은 이 포스팅의 주된 논점이 아니므로 NavigationController를 사용하여 간단하게 준비한다. 우선 Single View App으로 프로젝트를 생성하고 storyboard를 다음처럼 만든다.NavigationController를 Initial View Controller로 설정한다.C..
개요swift의 함수형 언어 특성인 closure를 공부했으니 이번에는 객체지향적 특성에 대해 공부해보자. swift는 객체지향 코딩을 위해서 여러가지 인터페이스를 제공한다. 사실 인터페이스라는 단어와 가장 어울리는 개념은 protocol이다.하지만 프로그래머로 하여금 코드의 각 조각들을 서로 연결시켜주는 역할을 한다는 뜻으로 사용했다. protocol가장 추상적인 인터페이스로 선언만 허용되는 인터페이스다.실제 사용하기 위해서는 상속을 받아서 구체화시켜서 사용한다. class아마 가장 많이 사용할 인터페이스일 것이다.함수(=method)와 변수(=property)를 모두 가질 수 있고, 인스턴스를 생성해서 프로그램 여기저기서 역할을 한다. struct데이터를 구조화시킬 때 많이 사용한다. class와 거..
- Total
- Today
- Yesterday
- game
- database
- ue4
- C++
- Cocos2d-x
- 알고리즘
- swift
- 드라마
- rxswift
- OS
- SOCKET
- Spring
- machine learing
- 데이터베이스
- SwiftUI
- scala
- winsock
- 수학
- Java
- JSP
- SHADER
- C
- mongoDB
- 자료구조
- Git
- 국내여행
- DesignPattern
- 운영체제
- C/C++
- ios
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |