[UIKit] ViewController의 생명주기와 콜백 타이밍
·
Dev log/iOS
🏁 개요뷰의 라이프사이클은 앱을 생성할 때 가장 먼저 보이는 것중 하나이다. 언제 나오냐고요? 여러분이 바로 앱을 생성하자마자 나오는 코드중 ViewDidLoad()함수가 뷰 라이프사이클을 관리하는 함수 중 하나이다. 그만큼 뷰의 생명주기에 대해서 이해하는 것은 앱을 설계하는데 있어서 중요한 요소중 하나이고, 오늘은 이 ViewController의 생명주기에 대해서 스스로 다시 학습해볼겸 내용을 정리해볼까 한다.🤔 ViewController?ViewController의 생명주기를 알기 이전에 ViewController라는 친구에 대해 간단하게 알아볼 필요가 있다.   Apple Developer Document - View ControllerView Controller는 단일 Root View를 관리..
[SwiftUI] SwiftUI에서 MVVM 패턴의 딜레마
·
Dev log/iOS
이어서이전 포스팅 [SwiftUI] MVVM 아키텍처 패턴 이해하기개요프로젝트를 할때면 여러 아키텍처 패턴에 대해 고민을 하게된다. 이번에 하는 프로젝트에서는 SwiftUI에 올바른 아키텍처 패턴이 무엇일지에 대해 고민하면서 SwiftUI 자체의 프레임워크 특성0hooni.tistory.com 지난 포스팅에서 MVVM 패턴을 이해하기 위한 내용들을 정리했고, 이번 편에서는 SwiftUI에서의 MVVM 패턴에 대한 딜레마에 대해 다뤄볼까 한다. 아마도 한번이라도 SwiftUI에 MVVM 패턴을 적용하기 위해 구글링을 해봤다면 아주 침이 고이는 포스팅 제목이 보인다. 그건 바로 "Stop using MVVM for SwiftUI". 해석하자면 SwiftUI에서 MVVM 패턴을 멈추라는 얘기이다. 다들 이게 ..
[SwiftUI] MVVM 아키텍처 패턴 이해하기
·
Dev log/iOS
개요프로젝트를 할 때면 여러 아키텍처 패턴에 대해 고민을 하게 된다. 이번에 하는 프로젝트에서는 SwiftUI에 올바른 아키텍처 패턴이 무엇일지에 대해 고민하면서 SwiftUI 자체의 프레임워크 특성이 MVVM을 반영하고 있었기에 No 패턴을 고민하기도 했었고, 많이 상용되고 있는 MVVM패턴, 새로 알게 된 TCA 패턴 등 여러 고민을 했지만 결국에는 많이 사용되는 MVVM패턴을 적용하게 됐다. 이번 글에서는 MVVM 패턴에 대한 올바른 이해를 가져감과 동시에 SwiftUI를 이용하여 구현중인 프로젝트에 MVVM의 적합성을 판단하며 내용을 정리해보려 한다. MVVM패턴이란?MVVM(Model - View - ViewModel) 패턴은 SW 디자인 패턴중 하나로, 특히 GUI 프로그램 개발에서 많이 사용..
[Xcode] .xcodeproj, .pbxproj의 역할과 프로젝트 충돌 이유
·
Dev log/iOS
개요이번 프로젝트를 하면서 유난히 Github에서 .xcodeproj 파일로 인해 PR Merge 이후 develop 브랜치에서 팀원마다 프로젝트 파일에 대한 문제가 지속적으로 생겼다. 분명 Merge를 할 때 conflict를 다 처리를 했는데도 지속적으로 이러한 문제가 생겼다. 그래서 이번 포스팅을 통해서 대체 왜 프로젝트 파일이 충돌되는지, 앞으로 어떻게 처리할 것인지에 대해서 다뤄볼까 한다. .xcodeproj 파일우리가 프로젝트를 만들면 친절하게 Xcode에서는 프로젝트 파일을 생성해 준다. 아마 Github로 Swift 프로젝트를 관리해보신 경험이 있으시다면 아시겠지만, 해당 프로젝트 파일을 깊게 보시면 자주 문제를 일으키는 어떤 파일을 볼 수 있다. 바로 .pbxproj 파일이다. .pbxp..
[SwiftUI] @State, @Binding 정리
·
Dev log/iOS
소개SwiftUI를 처음 시작하면 자주 보게되는 @State 와 @Binding 이라는 속성이 있다.지금까지 이 둘의 사용법은 알고 있었지만, 이번에 블로그 포스팅을 하며 공식 문서를 뜯어보며 좀 더 자세히 알아보려 한다.@State개요@State 는 View 내에서 변경 가능한 상태를 나타낸다.해당 속성에 변화가 생기면 SwiftUI가 자동으로 View를 업데이트 한다.활용주로 View 안에서 특정 상태를 추적하고 업데이트하는 데 사용된다.View가 자체적으로 상태를 관리할 수 있게 한다.코드struct ContentView: View { @State private var counter = 0 var body: some View { VStack { Text("..
[UIKit] 스토리보드 컴포넌트
·
Dev log/iOS
StoryboardStoryboard란 앱의 흐름을 나타내며, 시각적으로 화면을 구성하는 곳입니다. 좌측 프로젝트 리스트에서 Main.storyboard로 되어있는 파일이 Storyboard이며, 앱의 전반적인 형태와 앱의 화면 전환, 다양한 Object들을 관리해줍니다. Xcode 우측 상단의 +버튼을 누르거나 Cmd + Shift + L을 동시에 누르면 다양한 Object(Component)가 보이는 화면이 나타납니다.Component(Object)위에 설명된 방법으로 Component List를 볼 수 있으며, 각 Object의 이름과 해당 Object가 수행하는 역할에 대해 간략하게 적혀있다.아래에 List에 존재하는 각 Component에 대하여 간략하게 정리해보았다.1. Label & Butt..
[Xcode] AppProject 및 속성
·
Dev log/iOS
Project An Xcode project is a repository for all the files, resources, and information required to build one or more software products. A project contains all the elements used to build your products and maintains the relationships between those elements. It contains one or more targets, which specify how to build products. A project defines default build settings for all the targets in the proj..
[Xcode] Info.plist 및 속성
·
Dev log/iOS
Info.plist Information Property List를 의미 실행 패키지에 관한 필수 설정 정보가 포함된 구조화된 텍스트 파일 일반적으로 XML 포맷을 사용 key, value로 구성된 dictionary 형태이고, 이 키값을 이용하여 앱의 설정을 가져옴 프로젝트를 생성하면 자동으로 생성 Target의 Info탭에 설정할 수 있는 여러 조건이 있으며, 추가적으로 조건 설정이 가능 Info.plist 속성 1. Scene Info.plist 파일에 Application Scene Manifest 탭이 있으며, 이는 앱의 Scene 기반 LifeCycle 지원에 대한 정보를 담고 있다. Enable Multiple Windows : 여러 Scene을 설정할 수 있는지 체크하는 속성 Scene C..
[Xcode] Target 및 속성
·
Dev log/iOS
Target A target specifies a product to build and contains the instructions for building the product from a set of files in a project or workspace. A target defines a single product; it organizes the inputs into the build system—the source files and instructions for processing those source files—required to build that product. Projects can contain one or more targets, each of which produces one p..
0Hooni
'Dev log/iOS' 카테고리의 글 목록