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..
private lazy var dateFormatter: DateFormatter = { let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd" return formatter }() 코드를 보다보면 lazy 라는걸 한번쯤 보셨을거에요. 오늘은 Lazy Property에 대해 알아 보려고해요 ! 단어뜻으로 보면 게으르다는 뜻인데 어떤 뜻인지 같이 알아보겠습니다 :) Lazy Stored Properties (지연 저장 프로퍼티 ) 값이 사용되기 전에는 계산되지 않는 프로퍼티입니다. 불려지기 전에는 가만히 있는 애인가 보네요. 선언 프로퍼티의 선언 앞에 lazy 키워드를 붙이면 됩니다. 아래처럼 말이죠. // lazy var 변수명: 타입 =..
앱을 사용하다보면 시간을 활용해서 알람을 보내거나 여러가지 기능을 구현할수 있는데, 이 글에서는 날짜를 다루는 방법 에 대해 알아보려고 합니다. Date()를 선언하게 되면 2021-09-25 06:10:50 +0000 이런식으로 나오게 되는데 아래와 같은 사진으로 변경해봅시다!! 먼저 시간을 조절할수있는 DatePicker에 대해 알아보도록 하죠. DatePicker 1. ViewController 추가. (저는 `DateViewController`로 이름을 지었습니다.) 2. Objects Library (Shift + cmd + L)에 Datepicker 추가. 3. (선택) 이쪽에서 DatePicker에서 원하는 디자인을 선택할수 있습니다. 저는 시간만 변경하는걸로 설정했습니다. Preferred..
메소드에 이어서 프로퍼티에 대해 공부를 해봅시다. 오늘도 프로퍼티 (Properties) 늘 그래왔듯 정의 부터 보죠! 프로퍼티는 클래스(class), 구조체(struct), 열거형(enum)과 관련한 값 입니다. 종류로는 저장 프로퍼티 와 연산 프로퍼티 등이 있습니다. 프로퍼티에는 대표적으로 두가지 종류가 있어요. 이외에도 타입 프로퍼티 등 더 있긴하지만 오늘은 저장 프로퍼티를 먼저 보려고 합니다. 하나씩 파헤쳐 봅시다! 저장 프로퍼티 (Stored Properties) 이름 그대로 값을 저장하고 있는 프로퍼티 입니다. let(상수) 또는 var(변수) 키워드를 선언해서 사용할 수 있어요. 예제를 보면서 해볼까요? 눈으로 보는것보단 Playground에 같이 따라하는게 더 이해가 잘갑니다 :) 저장프로..
- Total
- Today
- Yesterday
- ios
- Swift 내림차순
- swift programmers
- Swift RIBs
- Swift Error Handling
- swift property
- Swift
- Swift final
- RTCCameraVideoCapturer
- Swift ModernRIBs
- Swift joined
- Swift Leetcode
- 2023년 회고
- RIBs tutorial
- Swift init
- iOS error
- Combine: Asynchronous Programming with Swift
- swift reduce
- 원티드 프리온보딩
- Swift inout
- Class
- swift (programmers)
- Swift 프로퍼티
- removeLast()
- CS 네트워크
- Swift 프로그래머스
- swift 고차함수
- Swift 알고리즘
- swift protocol
- Swift joined()
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |