목록iOS_Swift (29)
슈프림 블로그
▼▼▼Apple 공식 문서 | String ▼▼▼ developer.apple.com/documentation/swift/string Apple Developer Documentation Structure String | A Unicode string value that is a collection of characters. developer.apple.com Swift는 문자열 다루기가 까다롭기로 악명높다.. 실제로 나도 Swift로 코딩테스트를 여러번 치뤄오면서 문자열 문제 때문에 다른 언어로 갈아탈까 수백번은 고민한 것 같다. 하지만 이번 기회에 잘 정리해서 능숙하게 사용할 수 있도록 공부해 두면 해결될 문제라고 생각한다! 기본 속성들 큰따옴표 3개로 묶으면 여러 줄의 문자열을 그대로 사용할 수 있..
▼▼▼ 지난 포스팅 [Swift] Array 관련 함수들 1 ▼▼▼ tngusmiso.tistory.com/42 [Swift] Array 관련 함수들 Array는 여러 데이터를 한번에 묶어서 처리할 때 편리한 데이터 유형이다. tngusmiso.tistory.com 지난 포스팅에서는 배열의 선언과 초기화, 삽입, 삭제, 수정, 값 접근 등 기본적인 메소드와 속성에 대해 다루었다. 이번에는 미처 다 다루지 못했던 함수들과 속성들에 대해 공부하고, 지금까지의 내용을 총 정리 해보자! 배열 뒤집기 기존 배열의 순서를 거꾸로 뒤집는 방법으로는 reverse()를 사용하면 된다. 시간 복잡도는 O(n) 이다. var array = [1,3,5,2,4,6] array.reverse() print(array) // ..
오늘은 Swift의 Array(배열) 관련 함수들을 정리 해볼 생각이다. Array는 여러 데이터를 한번에 묶어서 처리할 때 편리한 데이터 유형이다. ▼▼▼Apple 공식 문서▼▼▼ developer.apple.com/documentation/swift/array Apple Developer Documentation Generic Structure Array | An ordered, random-access collection. developer.apple.com 초기화 및 선언 배열은 가지는 요소의 타입에 따라 자동으로 타입 추론이 가능하다. 선언과 동시에 초기화 할 때는 요소에 값이 들어있다면 자동으로 타입 추론이 이루어지기 때문에 타입을 명시해주지 않아도 된다! var intNumbers = [1,..
↓↓↓ XCode에서 Realm 사용할 준비 하고 오기!! ↓↓↓ 2020/09/19 - [iOS_Swift] - [iOS/Swift] XCode 프로젝트에서 Realm 사용하기 1 [iOS/Swift] XCode 프로젝트에서 Realm 사용하기 1 Realm이란? Realm 발음은 주변분들 보면 [렘]이라고 발음하시는 분들도 있고 [렐름]이라고 발음하시는 분들도 있었다. 나는 [렘]으로 발음하는데, 뭐가 정확한건지는 잘 모르겠다...! 일단 Realm은 모�� tngusmiso.tistory.com 모델 만들기 먼저 데이터로 사용될 모델을 만들어주자. 나는 간단하게 프로젝트 폴더에 Model.swift라는 이름의 파일을 만들어 주었다. 이 공간에 클래스를 선언하여 모델을 만들려고 한다. RealmSwi..
Realm이란? Realm 발음은 주변분들 보면 [렘]이라고 발음하시는 분들도 있고 [렐름]이라고 발음하시는 분들도 있었다. 나는 [렘]으로 발음하는데, 뭐가 정확한건지는 잘 모르겠다...! 일단 Realm은 모바일용 데이터베이스 관리 시스템(오픈소스)이다. Realm은 관계 데이터베이스가 아니라서 테이블을 사용하지 않는다. 따라서 쿼리를 사용하지도 않는다! 그냥 객체 자체가 데이터고, 객체 형태로 바로 데이터베이스에 저장하는 방식이라고 한다. 신기해,,, 장점은 객체 자체를 저장하고 꺼내서 사용하므로, 데이터베이스에서 가져온 데이터를 가공할 필요 없이 바로 사용이 가능하다. 따라서 ORM을 통한 테이블 객체 간 변환 과정이 생략되므로 훨씬 빠르다는 것이다. 단점은 NoSQL 방식이므로 쿼리를 통해 호출..
프로그램을 수많은 객체라는 기본 단위로 나누고, 이 객체들의 상호작용으로 서술하는 프로그래밍 방법론을 객체지향 패러다임이라고 한다. 객체를 만들기 위한 방법으로는 Struct (구조체) 와 Class (클래스) 를 사용하는 방법이 있다. 구조체와 클래스는 프로퍼티와 메서드를 가지고 있고, 이를 통해 데이터와 기능들을 정의할 수 있다. 구조체와 클래스를 정의한다는 것은 새로운 데이터 타입을 정의하는 것이라고 할 수 있다. 둘의 사용법과 역할이 거의 비슷한데, 차이는 무엇일까?? 사용방법을 살펴 보면서 차이점을 알아보자. 구조체 구조체 정의 구조체는 struct 키워드로 정의한다. 구조체 명은 타입 명 이라고 생각할 수 있으므로, Int, Bool 과 같이 대문자 카멜 케이스로 작성하는 것이 좋다. 중괄호 ..
Swift에서 함수형 프로그래밍 패러다임을 접할 때 클로저를 잘 이해해야 명확하게 이해할 수 있다. Swift의 클로저는 다른 언어의 **람다(Lambda)**와 유사하다 일정 기능을 하는 코드를 하나의 블록으로 ({} 안에) 모아 놓은 것. 함수도 클로저의 한 형태이다. 변수나 상수를 클로징한다 : 변수나 상수가 선언된 위치에서 참조를 획득하고 저장할 수 있다. 클로저 표현 { (매개변수...) -> 반환타입 in 실행 코드 } 더보기 예시 ) String Type의 배열의 이름들을 담아 내림차순으로 정렬하는 코드 Swift 라이브러리의 sorted(by:) 메서드 정의 public func sorted(by areInIncreasingOrder: (Element,Element) -> Bool) -> ..
self 모든 타입 인스턴스는 self라는 암시적 속성(키워드를 생략할 수 있다는 의미)을 가진다. 인스턴스 자신과 정확하게 동일하다. self 속성을 사용하여 자신의 인스턴스 메소드 내에서 현재 인스턴스를 참조할 수 있다. 사실 self는 그렇게 자주 사용할 필요가 없다. 그럼 언제 사용하냐고? 인스턴스 메소드의 파라미터가 인스턴스 프로퍼티와 이름이 같을 때, 구분해주기 위하여 인스턴스 프로퍼티에는 self.xx을 사용한다. super self가 자기 자신의 인스턴스를 나타낸 키워드라면, super는 슈퍼클래스를 가리키는 키워드이다. 슈퍼클래스의 메소드는 super.xx() 이런식으로 호출 가능하다.