일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자바스크립트
- SWIFT
- Xcode
- AppleDeveloperAcademy
- react-query
- swiftUI
- iOSDeveloper
- 프론트엔드
- JavaScript
- TypeScript
- UIKit
- 코딩테스트
- Front-end
- Apple Developer Academy
- ios
- velog
- globalcommunity
- 코드트리챌린지
- frontend
- tshaped
- git
- 회고
- 프로젝트
- react
- error
- 프로그래머스
- 코딩테스트실력진단
- 코드트리
- NextJs
- 알고리즘
Archives
- Today
- Total
Moon Work
[Swift] Swift 기본 문법 정리 1: Xcode Setting, types 본문
Mac에서 Swift 시작하기
mac에서 ios 개발을 위해서는 기본적으로 맥북에 제공되는 xcode를 통해 가능하다. (없는 경우 앱스토어에서 다운로드)
Create a new Xcode project를 클릭한뒤, 상단 바에서 File - New - Playground로 들어가서 Blank 파일을 클릭해준다. (일단 문법만 배울 것이기 때문에)
좌측 하단에 + 버튼을 클릭해서 새로운 폴더 / 파일을 만들 수 있다.
Swift 기본 문법
상수, 변수
- swift에서 띄어쓰기는 매우 중요하다. 변수 이름 뒤에 띄어쓰기를 꼭 해주어야 한다.
- swift는 타입에 매우 민감한 언어이다.
- ES6와는 반대로 var의 경우 변수로 사용하고 let의 경우 상수로 사용한다.
var 변수이름: 타입 = 값
let 변수이름: 타입 = 값
기본 타입
- Bool
- true, false가 올 수 있다.
- 0,1이 다른 언어에서 true, false를 나타내는 경우도 있지만 swift에서는 Bool타입에 할당할 수 없다. - Int: 정수형 타입
- UInt: 양수의 정수형 타입
- Float: 실수형 타입, 소수점 6자리까지 가능하다
- Double: 실수형 타입, 소수점 15자리까지 가능하다. (Float와 Double 모두 사용가능한 상황에서는 Double이 선호된다. Swift Docs )
- Character: 문자
- String: 문자열
- Any: 모든 타입을 수용 가능
- AnyObject: 모든 클래스타입을 수용 가능
- nil
- nil은 아무 타입에나 들어갈 수 없다. 아래와 같이 String 타입의 변수에 nil을 할당하게 된다면 다음과 같이 런타임 에러가 발생하는 것을 확인할 수 있다.
- nil은 없음을 뜻하는 키워드이기 때문에 다른 언어들의 null 과 같이 아무곳에나 들어갈 수 없고 Optional상황에서 사용할 수 있다.
- Optional 상황은 아래에 더 자세히 나오지만 이 값이 있을수도 있고 없을수도 있음을 나타내는데 이때 "없는 상황"을 나타내기 위해 nil을 사용할 수 있다.
let boolValue: Bool = true
let intValue: Int = -1
let uintValue: UInt = 3
let floatValue: Float = 2.344
let doubleValue: Double = 2.525961
let characterValue: Character = "a" //항상 큰따옴표로 사용
let stringValue: String = "austin"
컬렉션 타입
Array: 순서가 있는 리스트 컬렉션
선언: 아래 방법들 모두 Array 컬렉션 생성 가능
var intArr1: Array<Int> = Array<Int>()
var intArr2: Array<Int> = [Int]()
var intArr3: [Int] = [Int]()
내장함수들
intValues.append(1)
intValues.containes(1)
intValues.remote(at:4)
intValues.removeLast()
intValues.removeAll()
intValues.count
Dictionary: 키:값의 쌍으로 이루어진 컬렉션
선언: 아래 방법들 모두 Dictionary 컬렉션 생성 가능, 각각의 쌍의 타입으로 선언
var dictionaryCollection1: Dictionary<Int, String> = [Int, String]()
var dictionaryCollection2: [String, String] = [:]
할당 및 내장함수
- Dictionary의 사용은 기존 ES6등에서 사용하던 Object와 매우 다른 차이점이 있었다. Dictionary는 기본 전재로 안에 들어있는 key의 값이 nil일 수 있음을 전재하고 있었다.
- 위에 기본 타입에서 String에 nil을 할당할 경우 여지없이 에러가 발생한다. 하지만 dictionary 에 특정 key에 nil을 할당하게 될 경우 어떤 에러도 발생하지 않는다. 따라서 Dictaionary의 값을 가져올 때는 반드시 nil 체크를 해야한다는 점을 염두해둬야겠다.
//할당
dictionaryCollection["keyName"] = "value"
//사용
//아래와 같이 사용할 경우 타입 에러가 발생
var dicValue: String = dictionaryCollection["keyName"]
//optional 사용
var dicValue: String? = dictionaryCollection["keyName"]
//내장함수
dictionaryCollectoin.removeValue(forKey: "keyName")
dictionaryCollectoin["keyName"] = nil
Set: 순서가 없고 중복이 없는 컬렉션
선언: 오직 아래의 방법으로 선언이 가능하다.
var stringSet: Set<String> = Set<String>()
내장함수
//추가
stringSet.insert("value1")
//포함되어있는지
stringSet.containes("value1")
//특정 값 제거
stringSet.remove("value1")
//첫번째 값 제거
stringSet.removeFirst()
//set의 길이
stringSet.count
//다른 set과 합
setA.union(setB)
//다른 set과 교집합
setA.intersection(setB)
//다른 set과 차집합
setA.substract(setB)
//Set을 정렬해서 Array 컬렉션 타입으로 리턴
setA.sorted()
'Swift' 카테고리의 다른 글
[Swift] Swift 기본 문법 정리 5: Property (0) | 2023.02.01 |
---|---|
[Swift] Swift 기본 문법 정리 4: Protocol 📑 (0) | 2023.01.30 |
[Swift] Swift 기본 문법 정리 5-1: 왜 Swift에는 Sturct와 Class로 나뉘어 있을까. (0) | 2022.12.26 |
[Swift] Swift 기본 문법 정리 3: 클로저 (2) | 2022.12.21 |
[Swift] Swift 기본 문법 정리 2: 함수 (0) | 2022.12.16 |