일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HTML
- hokidoki
- 힛잇
- Hitit
- 자스민
- javascript
- 자바스크립트 자료구조
- 스벨트
- Svelte
- 이종호
- 호키스
- 리액트
- 계명대 이종호
- jest
- 호키도키
- IOS
- 자료구조
- queue
- hokeys
- TDD
- 스위프트
- 자바스크립트
- data structure
- 비동기
- 계명대
- 개발
- 개발자
- 리액트 예제
- SWIFT
- react
- Today
- Total
목록IOS/Swift (24)
Dog foot print
옵셔널이란 ? 옵셔널의 개념은 쉽게 풀이하여, 값이 존재 할 수도 있고 없을 수도 있음을 표현한 자료형입니다. 다른 언어에서는 값이 없다는 표현으로 보통 null을 할당 하고는 하는데, 스위프트에서는 nil이라는 값으로 표현됩니다. Dictionary 자료형을 사용 할 때, 키로 해당 값에 접근 하게되면 optional객체로 감싸진 값들을 볼 수 있습니다. let country = ["korea" : "seoul"]; country["korea"] //Optional("seoul").이는 스위프트가 오류가 존재해서가 아닌, “korea”라는 키를 가진 value가 없을 수 도 있으니 바로 오류를 범하기 전에Optional 객체로 감싼 결과 입니다. 이 예시는 String을 Int형으로 변경 할 때도 발생..
Dictionary란 key와 값이 쌍으로 이루어진 집단 자료형이다. // [키 : 값] let countries = ["korea" : "seoul"]딕셔너리 제약 하나의 키는 하나의 데이터에만 연결되어야 한다. 하나의 딕셔너리에서 키는 중복될 수 없고, 만약 이를 중복으로 처리하면 해당 키의 값이 재 할당된다. any 타입을 이용해서, value 와 key의 타입 제한을 없앨 수 있지만 다른 이를 위해 값은 항상 같은 타입의 데이터가 할당 되어야 한다. 딕셔너리는 아이템의 순서를 보장해주지 않는다. 즉 늦게 할당한 A가 B보다 뒤에 있으리라는 보장이 없다. Key는 타입 제한이 없지만, 해당 클래스가 Hashable 프로토콜을 구현해야 한다. 딕셔너리 선언과 초기화 let d_1 = ["hi" : "..
Set이란 ? Array와 다르게 Set은 공통된 값을 배열내에 저장 할 수 없는 자료구조입니다. Array를 통해 Set을 구현 할 수도 있지만, 스위프트에서는 기본 집단 자료형으로 Set을 제공합니다. 선언 및 초기화 import UIKit let countrySet : Set= ["korea","korea","usa","japan","china"]; let nonset = ["korea","korea"]; //["usa", "korea", "china", "japan"] //["korea", "korea"]Set의 리터럴은 배열과 동일한 [] 대괄호를 사용한다. 그렇기에, 타입 어노테이션으로 Set을 표시하지 않는다면, 배열로 인식되게 된다. 다음은 집합을 생성하는 다양한 예제이다. let stri..
문자열 보간법 문자열 보간법은 문자열 사이에 문자열이 아니거나 문자열인 자료형을 넣어, 동적으로 문자열을 만들어주는 방법을 의미합니다. 먼저 스위프트 보간법을 보기 전에 문자열 을 합치는 방법에 대해서 먼저 보도록 하겠습니다. 문자열과 문자열 1> let hello = "hello" 2> let world = "world" print(hello+" "+world) // hello world 출력 문자열과 문자열을 합치는 가장 고전적인 방법은 더하기 연산자를 통해, 문자열 타입을 합쳐주는 것이다. 문자열과 비문자열 let name = "lee" let age = 28 print(name+" is "+String(age)+" years old" 문자열과 비문자열을 합치기 위해서는 비문자열을 String으로 ..
Bool let isTrue = true; let isFalse = false;Bool이라고도 표현하고 Boolean이라고 풀 네임으로 말하기도 하는 이 자료형은 true 혹은 false의 값만 가질 수 있습니다. Bool은 어떤 명제의 참과 거짓에 대한 값이며, 이는 조건문이라고 불리는 상황에 따라 다른 행동을 할 수 있게 사용 되는 구문에서 사용됩니다. 10 > 20 //결과는 false 10 < 20 //결과는 true 10 < 10 //결과는 false 10
자료형이란 자료형이란 어떤 값이 띄고 있는 성질이 속하는 타입을 의미한다. 아주 쉬운 예를 들면 10 + 안녕하세요. = X 수식의 X값을 구할 수 있을까 ? 구할 수 없다. 안녕하세요. 는 숫자가 아니기 때문이다. 이 처럼 동일한 숫자인듯 보이는 10과 “10”은 엄연히 다른 자료형인 숫자와 문자열이라는 타입을 가지고 있어서 연산이 가능하지 않다. 이처럼 자료형은 어떤 값이 수행 할 수 있는 연산과 기능을 달리하는데 기준이 된다. Note : Data type을 줄여 type이라 칭한다. 타입 선언과 추론 var variable : String = "hello swift"; let constants : String = "hello swift"; var ten : Int; ten = 20; ten = "..
변수와 상수 프로그래밍을 처음에 배우게 되면, 접하는 내용이 변수와 상수이다. 변수는 말 그대로 추후에 담고 있는 값을 변경 할 수 있는 공간을 의미하고, 상수는 차후에도 변경 할 수 없는 공간을 의미한다. 선언 방법 var variable; let constants;위의 코드를 보면, var와 let 으로 구분되어 있는 문자가 있는데, 이것이 변수와 상수를 의미한다. 추후 나오는 variable과 constants는 이 공간의 이름(변수 명)을 의미한다. 이렇게 발생된 공간은 실제로 RAM의 공간의 일부분을 의미 하는건데, 이 공간은 실제로 숫자로 이루어져 우리가 그 값에 접근하기 매우 어렵다.변수명은 우리가 알기 어려운 숫자 대신에 사용하기 쉬운 문자로 이루어져 그 공간을 식별하게 해준다. 그렇기 때..
서론 : 기존에 자바스크립트에서 Stack강의에 자세한 설명이 존재하기 때문에 자료구조에 대한 정의 및 함수는 이번 포스트에서 다루지 않았습니다. 코드 : class Stack { private var __stack : [T] = []; private var count : Int = 0; private var maxCount : UInt = UInt.max; init(count : Int) { maxCount = UInt(count) } func push(_ element : T){ guard count != maxCount else { print("over flow danger") return ; } __stack.append(element) count += 1; } func peek() -> T{ g..