Sets Set 형태로 저장되기 위해선 반드시 타입이 hashable 이어야 합니다. Swift에서 String, Int, Double, Bool 같은 기본 타입은 hashable입니다. Swift에서 Set 타입은 Set으로 선언 합니다. 빈 Set 생성 var letters = Set() print("letters is of type Set with \(letters.count) items..") 위처럼 타입을 지정해 놓으면 아래와 같이 사용할 수 있습니다. letters.insert("a") print(letters) // ["a"] letters = [] // Set([]) 배열 리터럴을 이용한 Set 생성 var favoriteGenres: Set = ["Rock", "Classic", "Lof..
Swift에선 콜렉션 타입으로 Array(배열), Set, Dictionary(사전) 세 가지를 지원합니다. 이 글에선 Array만 알아보도록 할게요 !! 콜렉션의 가변성 Array, Set, Dictionary를 변수(var)에 할당하면 이 콜렉션은 변경가능하고, 상수(let)에 할당하면 변경할 수 없습니다. 배열(Arrays) 배열 타입은 아래처럼 나타낼 수 있습니다. Array // 기본형 // 또는 [Element] // 축약형 빈 배열 생성 빈 배열의 경우 아래와 같이 표기 합니다. var someInts: [Int] = [] print("someInts is of type [Int] with \(someInts.count) items.") // someInts is of type [Int] w..
앱 실행할때 탭이 두번째걸 먼저 시작되게 하고싶은데 첫번째 탭이 먼저 실행되는분들을 위해 블로깅을 해보려고 합니다! 먼저 세팅부터 해볼까요!! 라이브러리 Objects를 열고 (cmd + shift + L) 각 Tab별 아이콘 이미지를 지정해주세요 앱 실행시 제일 처음 보여질 ViewController로 지정해주시고 여기까지만 하고 앱을 실행하면 이렇게 나올겁니다. 이제 순서를 바꿔보죠!! 새로만들기 (cmd + N)에서 이대로 실행하면 드디어 설정한 index값에 따라 시작되는 위치가 바뀝니다. 요즘 문법만 공부하느냐구 재미가 조금씩 떨어지고 있었는데 하나씩 만들어보면서 하는것도 좋은 동기부여가 되는것 같네요. 어제 함박눈도 오고 겨울이 점점 실감이 납니다. 다들 감기 조심하세요~~
Swift 의 String 유형은 Foundation 프레임워크의 NSString이 연결된 타입이기 때문에, Foundation을 import하면 String에서 NSString 메소드에 접근할 수 있습니다. 문자열 리터럴 (String Literals) 문자열은 큰 따옴표 (" ")로 묶어서 표현 합니다. let something = "Some string literal value" 여러줄 문자열 리터럴 (Multiline String Literals) 여러줄의 문자열을 사용하고 싶은 경우 큰 따옴표 3개 (""" """) 를 묶어서 사용할 수 있습니다. let multiineString = """ The White Rabbit put on his spectacles. "Where shall I beg..
요즘 소셜로그인 구현을 해보는 중인데 다들 앱 사용하시다 보면 이런 창 많이 보셨나요!? alert라고도 불리며, 정확한 명칭은 UIAlertController인데요! 오늘은 alert 메시지 박스 띄우는 걸 구현해 보려고 합니다. 결과 구현 순서 전체적인 흐름은 이렇습니다. 1. 로그아웃 버튼 이벤트를 받을 @IBAction 2. alert창에 띄워질 제목, 메시지, alert유형 세팅 3. alert 버튼 추가 confirm에서의 handler 쪽에 in 뒤에는 '네' 버튼을 눌렀을 때 실행할 이벤트를 적으면 됩니다. 저는 카카오 로그아웃을 시키는 걸 테스트해봤어요. cancel에서의 handler에선 alert창만 닫으면 되니 아무런 기능이 없는 nil을 넣어줍니다. 4. 3번에서 구현한 버튼을 a..
shared 요거 많이 보셨죠? 오늘은 싱글톤에 대해 공부해보려 합니다. 싱글톤 생성된 객체를 어디서든 참조할 수 있도록 하는 패턴 입니다. 예를 하나 들자면, UserInfo 라는 클래스가 있어요. name, age, gender라는 프로퍼티가 있고. class UserInfo { var name: String? var age: Int? var gender: String? } 3개의 ViewController가 있는데, 1번 ViewController는 UserInfo에서 name을 "Peppo"로 변경 2번 ViewController는 UserInfo에서 age를 100으로 변경 3번 ViewController는 UserInfo에서 gender를 "male"로 변경 하려고 합니다. 이렇게 하면 마지..
지난시간에 구조체, 클래스를 배웠는데요! 오늘은 구조체 안에 메소드를 변경할 수 있게 해주는 mutating 메소드를 알아볼거에요 ! 구조체 mutating 사전적의미 mutate: 돌연변이가 되다. / 돌연변이를 만들다. 구조체와 열거형 내부의 데이터를 수정할 때는 mutating 키워드를 선언 해주어야 합니다. 값 타입 프로퍼티들은 해당 인스턴스 메소드 내에서 수정할 수 없어요. 이걸 가능하게 해주는게 mutating 입니다!! struct Point { var x = 0.0, y = 0.0 mutating func moveBy(x deltaX: Double, y deltaY: Double) { print("beforeX:",x) // beforeX: 1.0 print("beforeY:",y) //..
상수 및 변수 (let, var) 상수와 변수는 사용하기 전에 선언해야 합니다. 상수 let 키워드로 상수선언 한번 선언되면 변경할 수 없습니다. let name = "peppo" name = "swift" // ( X ) error 변수 var 키워드로 변수선언 변수는 변경 가능합니다. var age = 200 age = 100 정수 (Integers) Int 키워드로 사용하며, 32비트 플랫폼 - Int32 64비트 플랫폼 - Int64 를 사용합니다. var number = 20 var number = -20 UInt 부호 ( - )가 없는 정수 유형이 '특별히' 필요한 경우에만 사용하길 권장. var number: UInt = 10 // (O) var number: UInt = -10 // (X)..
연산자 용어 단항 연산자 -a !b c! 이항 연산자 2 + 3 삼항 연산자 a ? b : c // a가 true면 b를 return // 아니면 (else) c를 return 할당 연산자 상수, 변수에 모두 사용 가능하며, 값을 초기화 시키거나 변경 합니다. let b = 10 var a = 5 a = b // a 값은 10 여러 값을 한번에 할당 할 수도 있습니다. let (x, y) = (1, 2) // x 값은 1, y 값은 2 사칙 연산자 덧셈 ( + ), 뺄셈 ( - ), 곱셈( * ), 나눗셈( / ) 나머지 연산자 a % b 와 같이 나머지 연산을 지원합니다. 11 % 2 // 1 8 % 2 // 0 단항 음수 연산자 let three = 3 // 3 let minusThree = -t..
- Total
- Today
- Yesterday
- Swift final
- RTCCameraVideoCapturer
- Swift 프로퍼티
- Swift ModernRIBs
- swift programmers
- ios
- Combine: Asynchronous Programming with Swift
- Swift inout
- swift reduce
- swift (programmers)
- Swift Error Handling
- Swift
- Swift RIBs
- Swift 알고리즘
- Swift joined()
- Swift Leetcode
- Swift 내림차순
- Swift init
- RIBs tutorial
- swift protocol
- removeLast()
- Swift joined
- Class
- 2023년 회고
- iOS error
- 원티드 프리온보딩
- CS 네트워크
- swift 고차함수
- Swift 프로그래머스
- swift property
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |