Swift Docs > Closures > Autoclosures 를 바탕으로 하고 있습니다. # Autoclosure 란 autoclosure는 함수에 argument로 전달되는 expression 을 감싸기 위해 자동으로 만들어지는 클로저 입니다. (An autoclosure is a closure that’s automatically created to wrap an expression that’s being passed as an argument to a function) 1) autoclosure 를 전달받고 싶으면, 파라미터 타입을 @autoclosure attribute 로 marking 하면 됩니다. 2) autoclosure는 argument 를 가지지 않으며 리턴값이 있어야합니다. 3)..
Swift Docs > Functions 을 읽다가 자주 혼용되는 용어들을 정확하게 잘 구분해서 쓰는 점이 인상깊었다. 나도 잘 리마인드해서 정확한 용어를 쓰도록 해야겠다. # parameter 와 argument parameter (매개변수) 는 함수의 정의에 포함되는 변수. argument (전달인자) 는 함수를 call 할 때 전달하는 실제값. 스택오버플로우의 이 설명이 가장 간단명료한 것 같아서 가져옴 - Parameter is variable in the declaration of function. - Argument is the actual value of this variable that gets passed to function. 아래는 Swift Docs > Functions 의 내용이다..
Swift Docs > Concurrency 의 내용을 요약한 글로, 더 자세한 내용은 Meet Swift Concurrency 를 참고하시길 추천드립니다. [ 요약 ] # 개념 ✔️ Asynchronous Function - 일시중단될 수 있으며 그동안 다른 비동기 함수가 해당 스레드에서 실행될 수 있음. ✔️ Asynchronous Sequence - collection의 element를 하나씩 기다릴 수 있음. with for-await-loop ✔️ Asynchronous Function in parallel - 순차적 진행이 아니라 아니라 병렬로 작업을 진행할 수 있음. with async-let ✔️ Tasks and Task Groups - 비동기 코드의 우선순위, 취소 처리에 대해 더 많이..
Swift Docs > Strings and Characters 에 나오는 Unicode 관련 내용 입니다. (순서를 조금 재구성하였습니다) # Unicode Swift의 String과 Character는 유니코드를 완벽하게 준수합니다. 또한 세가지 유니코드 표현 (또는 문자열 인코딩) 에 접근할 수 있는 프로퍼티를 제공합니다. 1. UTF-8 Representation - A collection of UTF-8 code units - utf8 property 로 접근 가능. 프로퍼티 타입은 UTF8View (= collection of unsigned 8-bit (UInt8) values) 2. UTF-16 Representation - A collection of UTF-16 code units - ..
Swift Docs > Strings and Characters > Substring 에 나오는 내용입니다. 애플이 String 연산이 살짝 귀찮아질 것을 감수하고 왜 Substring 타입을 따로 만들었는 지 알 수 있는 내용이여서 좋았습니다! # Substring subscript 또는 prefix method를 이용해서 string의 substring을 구하면 그 타입은 string이 아니라 Substring 입니다. String과 Substring은 둘다 StringProtocol 을 conform 하고 있기 때문에 string에서 쓰던 same methods들을 substring에서도 대부분 사용할 수 있습니다. 즉 substring를 string과 거의 동일한 방식으로 사용할 수 있습니다. S..
% 연산을 할 때, negative 값이 있는 경우 언어마다 결과가 다르다는 것을 발견했습니다,, # Swift 보통 다른 언어에서는 %를 modulo operator 라고 부르는데, Swift 에서는 remainder operator 라고 부릅니다. Swift 에서 음수에 대한 동작은 엄밀히 말하면 modulo 연산보다 나머지 연산에 가까워서 remainder operator 라고 부른다고 하네요. (참고: Swift Docs) a % b 일 때, % operator 는 아래의 식으로 나머지를 계산합니다. a = (b x some multiplier) + remainder 1) 9 % 4 9 = (4 x 2) + 1 이므로 결과는 1 2) -9 % 4 -9 = (4 x -2) + -1 이므로 결과는 -..
Swift Docs > The Basics > Assertions and Preconditions 에 있는 내용을 토대로 한 글입니다! # Assertions 과 preconditions 용도 Assertions 와 preconditions 은 런타임에 체크됩니다. futher code 를 실행시키기 전에 essential condition 을 만족시켰는 지 검증하는 용도로 사용할 수 있습니다. assertion 또는 precondition 의 조건이 true 면 코드는 계속 실행되고false 면 현재 프로그램 상태가 invalid 하다고 판단되어서 코드 실행이 멈추고 앱이 종료됩니다. Assertion은 개발 중에 실수나 잘못된 가정을 찾는 데 도움이 되고preconditions는 produ..
Self vs self - what's the difference? 에 대해서는 대충 알고 있었지만, 예전에 iOS Test-Driven Development by Tutorials (raywenderlich) 를 보다가 샘플코드 중, 이런 식으로 되어있는 것을 보고 좀 헷갈려서 Self Type 문서를 봐야지~~ 했는데 이제야 봅니다,,, https://docs.swift.org/swift-book/ReferenceManual/Types.html#grammar_self-type Types — The Swift Programming Language (Swift 5.5) Types In Swift, there are two kinds of types: named types and compound types..
swift-algorithms 패키지 / swift-collections 패키지 가 등장하면서 (참고: WWDC 2021 Meet the Swift Algorithms and Collections packages) 기존에 extension으로 만들어서 쓰고 있었던 chuck 메소드를 패키지 안의 메소드로 교체할 수 있게 되었습니다! [ as is ] import Foundation extension Array { // https://www.hackingwithswift.com/example-code/language/how-to-split-an-array-into-chunks public func chunked(into size: Int) -> [[Element]] { return stride(from: ..
[Swift] async / await 동작원리 에서 이어집니다. WWDC 2021 - Meet async / await in Swift 중, async / await 에 대한 사용사례를 기록한 글입니다. [1] Async sequences for문에서도 await / async 를 사용할 수 있습니다. 자세한 내용은 WWDC 21 - Meet AsyncSequence / WWDC 21 - Explore structed concurrency in Swift 를 참고해주세요 [2] Testing async code 예전에 비동기 테스트를 하려면 expection을 setting하고 expection.fulfill 도 해줘야하고 wait도 불러줘야하고 불편했습니다. 하지만 async를 쓰면 불편한 것들이 싹..
- Total
- Today
- Yesterday
- 플러터 싱글톤
- Django Firebase Cloud Messaging
- flutter dynamic link
- Watch App for iOS App vs Watch App
- flutter build mode
- Flutter Spacer
- Flutter Text Gradient
- 구글 Geocoding API
- Flutter 로딩
- METAL
- Python Type Hint
- drf custom error
- flutter 앱 출시
- ribs
- Flutter Clipboard
- flutter deep link
- cocoapod
- SerializerMethodField
- 장고 URL querystring
- github actions
- ipad multitasking
- Sketch 누끼
- Django Heroku Scheduler
- Django FCM
- DRF APIException
- Dart Factory
- 장고 Custom Management Command
- Flutter getter setter
- PencilKit
- 플러터 얼럿
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |