일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- URL(string:)
- graphql
- SWIFT
- dismiss
- IOS
- Bug
- SwiftUI
- @Environment
- Operater
- init?
- Creating Operators
- swift6
- Operators
- init
- vim
- @EnvironmentObject
- subject
- NavigationLink
- RxCocoa
- operator
- @Binding
- RFC1738/1808
- Xcode
- NullObject
- nestjs
- nonisolated
- RxSwift
- ios14
- @State
- typeorm
- Today
- Total
목록전체 글 (147)
Tunko Development Diary
Swift6 데이터 레이스데이터 경쟁은 한 스레드가 메모리에 접근하는 동안 다른 스레드가 동일한 메모리를 변경할 때 발생합니다. Swift 6 언어 모드는 컴파일 시점에 데이터 경쟁을 감지하고 방지하여 이러한 문제를 해결합니다. Swift에서 사용하는 async/await와 actor는 다른 언어의 유사한 기능들과 표면적으로 비슷해 보입니다. 하지만 내부 동작 방식이나 사용 방법에 중요한 차이가 있을 수 있으므로 혼동하지 않도록 주의해야 합니다. Data IsolationSwift의 동시성 시스템은 컴파일러가 모든 가변 상태의 안정성을 이해하고 검증할 수 있도록 합니다. 이는 데이터 격리라는 메커니즘을 통해 이루어집니다. 데이터 격리는 가변 상태에 대한 상호 배타적 접근을 보장합니다. 이는 개념적으로 잠..
역할, 책임, 협력 키워드 역할 책임 협력 품질 호환 객체지향 설계의 전체적인 품질을 결정하는 것은 개별 객체의 품질이 아니라 여러 객체들이 모여 이뤄내는 협력의 품질이다. 109p 책임은 객체에 의해 정의되는 응집도 있는 행위의 집합 객체 명확한 책임이 필요하다. 객체는 무슨일을 하는지 알아야 된다. 그 기반이 되는게 책임이다. 무슨일을 하는지 명확해야 해당 객체는 객체로서 존속할 가치가 생긴다. 객체 가지는 책임은 생명줄 같은것 아닐까? 객체의 책임은 공용 인터페이스를 구성한다. 117p 객체의 책임은 반드시 어떤 역할을 수행할 것을 의미한다. 그렇다면 어떤 역할이라는걸 하려면? 누군가 즉, 다른 객체에 요구를 받아야 한다. 이것이 의미하는건 다른 객체와 상호작용할 수 있는 인터페이스를 의미한다. 결..
아래 링크를 보시면 RFC 1738/1808 → RFC 3986 로 업데이트 되었다고 합니다. init(string:) | Apple Developer Documentation RFC (Request for Comments)는 인터넷 연구 및 개발 커뮤니티에서 인터넷 표준과 관련된 문서의 시리즈입니다. 각 RFC는 번호가 부여되며, 특정 주제나 프로토콜에 대한 정보와 규격을 담고 있습니다. struct TestUrl { let testURL = "https://tistory.com" let testURL2 = "https:// tistory.com" init() { if #available(iOS 17.0, *) { var url_iOS17 = URL(string: testURL) print("iOS17..
SwiftUI) Null(nil) Object Pattern 활용하기 SwiftUI에서 Null Object Pattern을 적극 활용해보는 방법을 남겨봅니다. Swift에선 nil Object Pattern 이라고 해야 되나 고민…🤔 실제 사용해보니 너무 유용하고? 옵셔널의 지옥에서 빠져나올 수 있고 특히 데이터모델과 View가 혼연일체? 되어있는 SwiftUI에서는 적극 사용중입니다. 우선 Null Object Pattern이란? Null Object Pattern은 객체 지향 디자인 패턴 중 하나로, 객체가 null일 때의 동작을 처리하는 데 사용됩니다. 이 패턴의 주요 목적은 클라이언트 코드에서 null 검사를 제거하여 코드의 복잡성을 줄이는 것입니다. Null Object Pattern은 클라이..
SwiftUI에서 사용하는 @StateObject 및 @ObservedObject는 View의 변경사항을 감지하여 View를 업데이트 하도록 지시합니다. 두가지는 비슷한 효과를 내지만 중요한 차이점이 있습니다. 여러 글들을 참고하고 실제로 시도해본결과 이렇게 요약할 수 있었습니다. @StateObject를 사용한 View는 부모뷰 변경에도 변경이 없습니다. @ObservedObject를 사용한 View는 부모뷰의 변경이 일어나면 초기화 됩니다. 즉, 속성 래퍼가 값을 기억하고 있지않습니다. 단지 관찰할 뿐이죠. 말로만 하면 재미 없으니 그림으로 보겠습니다. 아래 그림을 보면 3개의 값이 있고 각각 @State, @StateObject, @ObservedObject로 선언된 value: Int 를 나타냅니..