Swift 6 에서 'Typed throws' 를 사용할 수 있다. - Swift Proposal: SE-0413- WWDC 24 > What’s new in Swift [1] 개념 AS IS기존의 에러 처리 방식이다. catch 블럭에 전달되는 에러는 type erased 되기 때문에 이런 식으로 구체 타입 체크를 했다. 이런 방식을 'UnTyped throws' 라고 한다. TO BE 이제 'Typed throws' 방식도 지원된다! 이렇게 function 이 throw 할 에러의 구체타입을 지정할 수 있다. (하나의 구체 타입만 사용한다면) 그럼 type erasure 가 안되고catch 블럭으로 들어오는 에러는 구체타입이다. [2] 실습 [3] 참고 1) API 에서 t..
[ 문서 ]- 공식 문서 > templates. - workshop > Bonus 2. Templates [ tuist scaffold ]tuist 는 tuist scaffold 라는 명령어를 제공하는데, 프로젝트 자동생성을 도와주는 명령어입니다.tuist scaffold name_of_template --name Name 이 명령어는 Tuist/Templates 경로에 저장되어있는 템플릿을 사용하고,템플릿은 manifest 파일과 Stencil file 을 결합하여 만듭니다. 자세히 말하자면, 1) Tuist/Templates 하위에 name_of_template 디렉토리 만들기. 2) 해당 디렉토리에 name_of_template.swift 파일 두기.3) name_of_template.swif..
[1] AsyncSequence - iterator 를 통해 elements 에 접근하는 Sequence 와 동일한 개념. 대신 asynchronous 하게 element 를 접근한다는 점이 Sequence 와 다름. 영어가 더 깔끔한 듯.. ? ‘AsyncSequence is a protocol which resembles Sequence and allows you to iterate over a sequence of values asynchronously.’ - iterator 의 next() 를 호출하거나 for await loops 를 사용해서 elements 에 접근할 수 있음 - AsyncSequence 프로토콜의 requirement 를 간략히 적어보자면 다음과 같음 protocol As..
[1] @TaskLocal 이란 ? @TaskLocal 은 특정 Task 와 Child Tasks 들끼리 값을 공유할 수 있게 해주는 프로퍼티 래퍼입니다. 이 값은 특정 Task 랑 Child Tasks 에만 국한되어서 전파됩니다. 즉 상위 Task 및 다른 독립적인 Task 에는 영향을 주지 않습니다. @TaskLocal 를 통해 전역상태를 피하면서도, 관련된 작업들 간에 상태를 안전하게 공유할 수 있습니다. [2] TaskLocal 선언하기 static 이나 global 프로퍼티로 선언되어야합니다. (global 은 Swift 6 이상부터 가능하다고 하네요) [3] TaskLocal 에 값을 바인딩 하기 task-local 에 직접적으로 value 를 set 할 수 없습니다. ..
Layout 프로토콜을 채택해서 Custom Layout 을 주로 만들지만 (문서, 예제 - WheelLayout )이 글처럼 SizeLogger 를 만들 수도 있다. 좋은 아이디어! struct SizeLogger: Layout { let label: String func sizeThatFits(proposal: ProposedViewSize, subviews: Subviews, cache: inout ()) -> CGSize { let result = subviews[0].sizeThatFits(proposal) print(label, proposal, result) return result } func placeSubview..
- Total
- Today
- Yesterday
- Django Firebase Cloud Messaging
- Flutter Clipboard
- flutter deep link
- github actions
- Sketch 누끼
- flutter 앱 출시
- 플러터 얼럿
- 장고 Custom Management Command
- Flutter 로딩
- 플러터 싱글톤
- flutter build mode
- flutter dynamic link
- Django Heroku Scheduler
- Watch App for iOS App vs Watch App
- Flutter Spacer
- ribs
- DRF APIException
- Dart Factory
- 장고 URL querystring
- Flutter Text Gradient
- 구글 Geocoding API
- Flutter getter setter
- Python Type Hint
- Django FCM
- ipad multitasking
- drf custom error
- cocoapod
- METAL
- SerializerMethodField
- 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 |