일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 비반환함수
- reactnavigation
- 나를부르는숲
- 72410
- 동적언어
- lineending
- replacingOccurrences
- reactnative android
- ios
- switch구문
- 프로그래머스
- textinput
- client-side-rendering
- next.js
- 옵셔널
- 약타입
- 약타입언어
- 17681
- JavaScript
- beforePopState
- 리액트네이티브
- 함수형프로그래밍
- multiline
- DelayInput
- 데이터타입함수
- SWIFT
- 중첩함수
- Server-Side-Rendering
- 스위프트
- ReactNative
- Today
- Total
목록Swift (33)
으니의 개발로그
[Swift] init(repeating:count:) 사용하기 (swift 문자열 반복하기, swift 배열 크기 지정) 스위프트에서 사용할 수 있는 init(repeating:count:) 가 좋은 점은 문자열에서도 사용할 수 있고 배열에서도 사용할 수 있다는 점이다. 사용 방법은 정말 간단하다. repeating에 반복할 문자, 숫자, 부울 등을 넣어주면 되고, count에는 반복 횟수를 넣어주면 된다. String에서 사용하기 let watermelon4 = String(repeating: "수박", count: 4) print(watermelon4) /* 수박수박수박수박 */ Array에서 사용하기 let liar = Array(repeating: false, count: 5) print(lia..
인덱스로 문자열의 글자 가져오기 처음에 나는 python 에 익숙해져 있어 문자열을 글자를 가져오기 위해 처음에는 아래와 같은 코드를 생각했다. let name = "seonho" let str = name[2] 하지만 swift 에서는 인덱스로 문자를 가져올 수 없다. (Array 로 바꾸면 위와 같은 방법으로 가져올 수 있긴 하다) String.Index 그러면 스위프트에서는 문자열에서 인덱스를 어떻게 가져올 수 있을까? 처음과 마지막 인덱스에 접근하려고 한다면 startIndex 와 endIndex 로 접근할 수 있다. 하지만 여기서 주의할 것은 endIndex 는 마지막 인덱스 값을 나타내는게 아니라 문자열의 길이를 나타낸다는 것이다. let startStr = name[name.startInde..
[Swift] 옵셔널(2) - 옵셔널 추출 이 글은 Swift 프로그래밍 책을 읽고 요약한 내용입니다. 옵셔널 추출 : 열거형의 some 케이스로 숨어있는 옵셔널의 값을 옵셔널이 아닌 값으로 추출 강제 추출 옵셔널 값의 뒤에 느낌표(!)를 붙여주면 값을 강제로 추출하여 반환한다. 옵셔널의 값이 없다면(nil 이라면) 런타임 오류가 발생한다. 이 방법은 가장 간단하지만 가장 위험한 방법이다. 런타임 오류가 일어날 가능성이 가장 높고 옵셔널의 만든 의미가 무색해지는 방법이기 때문이다. var myName: String? = "seonho" // 옵셔널이 아닌 변수에는 옵셔널 값이 들어갈 수 없다. 추출해서 할당해주어야 한다. var seonho: String = myName! myName = nil seon..
[Swift] 옵셔널(1) - 옵셔널 사용 이 글은 Swift 프로그래밍 책을 읽고 요약한 내용입니다. 옵셔널 : 값이 있을 수도 없을 수도 있음을 나타내는 표현 null 을 스위프트에서는 nil 로 표기함 오류가 발생하는 nil 할당 import UIKit var myName: String = "seonho" myName = nil // 오류 nil 은 옵셔널로 선언된 곳에서만 사용할 수 있다. 옵셔널 변수 또는 상수 등은 데이터 타입 뒤에 물음표(?)를 붙여 표현해준다. var myName: String? = "seonho" print(myName) /* Optional("seonho") */ myName = nil print(myName) /* nil */ 옵셔널을 사용하는 상황 함수에 전달되는 전..
[Swift] 함수(6) - 반환 값을 무시할 수 있는 함수 이 글은 Swift 프로그래밍 책을 읽고 요약한 내용입니다. @discardableResult : 함수의 반환 값을 무시해도 된다는 선언 속성 func say(_ something: String) -> String { print(something) return something } @discardableResult func discadableResultSay(_ something: String) -> String { print(something) return something } // 반환 값을 사용하지 않았으므로 컴파일러가 경고를 표시할 수 있다. say("hello") /* hello */ // 반환 값을 사용하지 않을 수 있다고 미리 알렸..
[Swift] 함수(6) - 종료되지 않는 함수 이 글은 Swift 프로그래밍 책을 읽고 요약한 내용입니다. 종료되지 않는다는 의미는 정상적으로 끝나지 않는 함수라는 뜻이다. 이를 비반환 함수(Nonreturning function) 또는 비반환 메서드(Nonreturning function)라고 한다. 비반환 함수는 어디서든 호출이 가능하고 guard 구문의 else 블록에서도 호출할 수 있다. 비반환 메서드는 재정의는 할 수 있지만 비반환 타입이라는 것은 변경할 수 없다. 비반환 함수는 반환 타입을 Never 라고 명시해주면 된다. func crashAndBurn() -> Never { fatalError("Something very, very bad happened") } crashAndBurn()..