전체 글
-
[TCA] @Bindable카테고리 없음 2026. 8. 26. 16:02
Swift 5.9 및 SwiftUI에서 도입된 Property Wrapper로,@Observable 또는 @ObservableState 객체에서 양방향 데이터 바인딩(Binding)을 추출할 때 사용한다.TCA(v1.7 이상)에서는 기존의 복잡했던 ViewBinding 방식 대신, SwiftUI 표준 방식처럼 직관적으로 텍스트 필드, 토글, Sheet 팝업 등을 연결할 때 @Bindable을 활용합니다.핵심 역할Store 객체 바인딩: TCA의 Store를 @Bindable로 선언하면, $store 표기법을 통해 State 내부 값에 대한 Binding이나 Child Store에 대한 Scope 바인딩을 손쉽게 뽑아낼 수 있다.Boilerplate 감소: 이전처럼 ViewStore를 선언하거나 일일이 B..
-
[TCA] @PresentsSwiftUI/study 2026. 8. 25. 16:46
=> TCA에서 화면전환(Navigation, Sheet, Alert 등)이나 팝업창을 제어하기 위해 상태(State) 속성에 붙이는 Swift 매크로이다.쉽게 말해 “이 데이터는 화면에 팝업이나 새 창으로 떠 있는 자식 화면의 상태입니다.”라고 알려주는 표식.왜 사용?화면 띄움/ 닫힘의 기준자식 화면 데이터가 nil이 아니면 화면이 나타나고, nil이면 화면이 닫힌다.메모리 및 수명 주기 자동 관리자식 화면이 닫혀서 nil이 될 때, 해당 자식 화면이 실행 중이던 비동기 작업(Effect)이나 취소 가능한 작업들을 TCA가 자동으로 안전하게 취소 및 정리해 준다.@ObservableState와의 호환성구버전 TCA에서는 @PresentationState라는 Property Wrapper를 사용했으나, ..
-
[TCA] The Composable ArchitectureSwiftUI/study 2026. 8. 25. 15:55
=> iOS 및 Swift 생태계에서 최근 몇 년간 가장 뜨겁게 사용되고 있는 상태 관리 및 앱 아키텍처 라이브러리=> Point-Free(Brandon Williams, Stephen Celis)팀이 만들었으며, 특히 SwiftUI와 조합이 매우 뛰어나다.=> 쉽게 말해, 앱이 복잡해지더라도 데이터 흐름을 한 방향으로 일정하게 유지하여 버그를 줄이고, 테스트와 모듈화를 엄청나게 쉽게 만들어주는 틀이라고 보면 된다.TCA의 핵심 개념TCA는 단방향 데이터 흐름(Unidirectional Data Flow)을 지향하며, 주로 Redux나 MVI 패턴과 매우 유사하게 동작한다.State (상태)화면을 그리는 데 필요한 모든 데이터의 집합이다.단순한 struct로 정의되며, 이 상태가 변하면 View가 자동으..
-
rsync(84838), Command PhaseScriptExecution failed with a nonzero exit code 에러에 대한 고찰...swift/correct a mistake 2026. 3. 18. 16:25
Moya 라이브러리를 받았는데, 이런 오류가 발생했다. 엄청난 삽질을 했다.... 구글링을 하다보니 권한문제라는 것 같아서혹시나 캐시같은게 꼬였나 싶어서DerivedData도 삭제하고Clean Build도 해보고Xcode도 껐다 켜보고컴퓨터도 껐다 켜보고 별 짓을 다해봤다.(신기하게도 이런 작업으로 해결되는 오류들도 있다.) 하지만 어떤걸로도 해결되지 않아서 다시 구글링을 해봤다.처음에는 무지성으로 따라만 하다가이거 제대로 알아야겠다 싶어서 글로 정리할겸 자세히 알아봤다. 일단 이건 권한 문제가 맞다.에러 로그에서 보이듯이 Sandbox에 file-write-create 가 실패한 것이다. 권한이 없어서.그러면 권한이 왜 막혀있을까?왜 이런 권한이 필요할까? 일단 처음으로 돌아가보자. 나는 Alamof..
-
Privacy manifestios/achieve & upload 2026. 3. 4. 09:52
해당 내용은 WWDC23 "Get started with privacy manifests" 영상과Privacy manifest files 문서와이 블로그, 이 블로그 내용을 보고 제 나름의 해석을 포함해서 작성한 글입니다. --- Privacy manifest : 앱이나 타사 SDK가 수집하는 데이터와 API가 사용되는 필수 이유를 설명해서앱을 사용하는 사람들에게 내 개인정보가 어디로 수집되는지 알기 쉽게 한다. 애플에서 2024년 4월부터 앱 심사 때 Privacy manifest를 확인한다고 공지했다.그렇다면 왜 강제화 했을까? 이게 왜 필요할까? 1. 개발자와 사용자에게 명확하지 않은 방식으로 개인 정보 보호에 영향을 끼칠 수 있다.2. 앱 개발자가 타사 SDK에서 어떤 API를 사용하여 사용자 데..
-
'Object' is ambiguous for type lookup in this contextswift/issue 2026. 2. 24. 10:31
CoreData를 사용하는데 위와같은 오류가 발생했다.https://stackoverflow.com/a/50441818/12744740 'Object' is ambiguous for type lookup in this context in Xcode 9I want to update my app for iOS 11, and have this issue. This is my current code: protocol DataSourceDelegate: class { associatedtype Object func cellIdentifierForObject(object: Object) -...stackoverflow.com 해당 답변으로 해결! 빠른 생성으로 클래스를 만든 경우,코드생성이 비활성화 되어 있는 경우..
-
[objective-c] __bridge 란 무엇인가 (with. Toll-Free Bridging, __bridge_transfer, __bridge_retained)objective-c/basic 2026. 2. 23. 15:57
코드를 볼 때 가끔 __bridge 라는 걸 볼 수 있는데,이게 뭘까? 하는 궁금증이 들어서 찾아봤다.(여러 블로그에서 서로의 글을 참조하면서 내용이 변화된 부분도 있고 헷갈리서여러 블로그 글을 읽어봤지만 공신력 있는 출처를 찾을 수 없었다...그래서 마지막에는 chat GPT에게 공신력 있는 사이트를 기반으로 설명을 요청했고,그 모든 블로그와 출처와 chat GPT까지 참고했음을 알립니다.) 혹시나 틀린 점이 있다면 알려주시면 정말로 감사하겠습니다. 1. 먼저 Toll-Free Bridging이 뭔지 알아보자.1) NSType과 CFType(1) NSType- Objective-C 타입- NSObject를 무조건 상속받는 클래스 타입이다- 참고로 NS는 NeXTSTEP의 약자다(2) CFType- Co..
-
[SwiftUI] ForEach에서 enumerated 쓰는 방법SwiftUI 2026. 2. 20. 16:28
발생한 오류 : Referencing initializer 'init(_:content:)' on 'ForEach' requires that 'AttributedString' conform to 'Identifiable' https://doorganizedcoding.tistory.com/manage/newpost 티스토리좀 아는 블로거들의 유용한 이야기, 티스토리. 블로그, 포트폴리오, 웹사이트까지 티스토리에서 나를 표현해 보세요.www.tistory.com 오류가 발생한 이유는 3가지 정도.1. List나 ForEach를 사용: SwiftUI는 반개발 범위 연산자 ..ForEach(1 ... 10) -> 오류ForEach(0 .. 정상 2. 문자열이나 정수형 배열과 같은 Identifiable 프로토..