본문 바로가기

iOS196

[iOS] Actor https://developer.apple.com/documentation/swift/actor/ Actor | Apple Developer DocumentationCommon protocol to which all actors conform.developer.apple.com Actor동시성 환경에서 Data Race를 방지하기 위해 도입된 Swift의 type중 하나Swift 5.5 (iOS 15, macOS 12)부터 도입된 Concurrency Model의 핵심 요소 중 하나클래스와 비슷하지만 동시에 여러 스레드에서 접근해도 안전하게 상태를 관리하게 해준다.자신의 내부 상태를 한 번에 하나의 Task만 접근할 수 있게 보호하는 일종의 동시성 격리 공간(isolation zone) Actor 규칙내.. 2025. 11. 8.
[iOS] Xcode folder vs group GroupXCode 프로젝트 내의 가상의 논리적 분류Disk에서 코드 파일을 추가해도 XCode에 싱크되지 않는다.개별 코드 파일을 Build target에 따로 추가하는 게 가능하다. FolderDisk의 폴더 구조를 XCode 프로젝트 내에 완전히 동기화 시킨 것Disk에서 파일 추가 시 자동으로 XCode에서 싱크된다.개별 코드 파일을 Build target에 따로 추가하는 게 어렵다.폴더 째로 컨트롤되기 때문 GroupFolder실제 파일 구조 자동 연동XODisk 구조 반영XO용도코드/파일 논리적 정리리소스나 외부 폴더 포함소스코드 정리에 적합OX 개인적으로 Windsurf, Cursor와 같은 외부 에디터 사용 시에는 프로젝트 구조를 직접 편집할 수 없기 때문에 내가 코드를 수동으로 impor.. 2025. 11. 3.
[iOS] ARC의 동작 방법 ARC (Automatic Reference Counting)Swift, Objective-C에서 heap 영역에 저장되는 Class 객체들의 reference count를 자동으로 관리해주어 메모리를 관리해주는 장식각 객체들의 참조하는 곳이 증가할 때 reference count를 늘리고, 참조하는 곳이 줄어들 때 감소시킨다.reference count가 0이 되면 deinit을 호출하며 메모리해서 해제시킨다. ARC의 동작 시점 및 원리컴파일단계에서 컴파일러가 자동으로 각 시점별로 retain, release 함수를 코드에 삽입한다,.변수가 새 객체를 가리킬 때: retain변수가 nil이 되거나 스코프를 벗어날 때: release카운트가 0이 될 때: deinit 호출 예시 원본 코드Person이라.. 2025. 11. 2.
[iOS] viewWillAppear vs viewIsAppearing https://developer.apple.com/documentation/uikit/uiviewcontroller/4195485-viewisappearing viewIsAppearing(_:) | Apple Developer DocumentationNotifies the view controller that the system is adding the view controller’s view to a view hierarchy.developer.apple.comviewIsAppearingviewController에게 시스템이 현재 view를 view hierarchy에 추가하고 있음을 알려주는 콜백함수viewWillAppear가 호출되고 난 이후에 불리는데, viewWillAppear와 다르게 view.. 2025. 11. 2.