루피 님의 블로그
close
프로필 사진

루피 님의 블로그

github: @kimsangjunzzang

  • 분류 전체보기 (127)
    • iOS (65)
      • Swift (36)
      • UIKit (9)
      • SwiftUI (8)
      • RxSwift (12)
    • FE (8)
      • 모던 자바스크립트 (3)
      • HTML (5)
    • CS (15)
    • Algorithm (20)
    • 트러블 슈팅 (5)
    • 그 외 정리 (2)
    • 대외활동 & 회고록 (8)
    • 바로 안 나오면 모르는거다 (4)
  • 홈
  • 태그
  • 방명록
[UIKit] View Controller

[UIKit] View Controller

안녕하세요, 루피입니다. 오늘은 인터페이스를 관리하고, 앱의 콘텐츠 간 네비게이션을 구현하는 데 필요한 View Controller에 대해 정리해 보도록 하겠습니다. 바로 시작합니다. ( 편의상 ViewController를 VC라고 하겠습니다. )View Controller란?VC는 UIKit 앱의 인터페이스를 관리하는 핵심 요소입니다. 모든 iOS 앱은 최소 하나 이상의 VC를 가지고 있으며, 이는 앱의 메인 윈도우를 채우는 역할을 하죠! 간단히 말하자면, VC가 하는 일은 다음과 같습니다.앱 UI의 특정 부분, 즉 View를 관리합니다.해당 UI와 데이터 간의 상호작용을 담당합니다.앱 내에서 서로 다른 UI 간의 전환 처리를 담당합니다. (네비게이션은 이에 해당하겠죠?)각 VC는 하나의 루트 뷰를 관..

  • format_list_bulleted iOS/UIKit
  • · 2025. 8. 19.
[UIKit] The View Controller Hierarchy

[UIKit] The View Controller Hierarchy

안녕하세요, iOS 개발하는 루피입니다. 오늘은 공식문서를 바탕으로 VC의 계층에 대해 정리해보는 시간을 가져보겠습니다.바로 시작하겠습니다.VC의 계층구조는 앱의 VC들 간의 관계를 정의하며, 각 VC가 수행해야 할 동작을 결정합니다. UIKit은 VC를 특정 방식으로 사용하도록 요구하며, 올바른 VC 관계를 유지해야 필요한 자동 동작이 적잘한 VC에 전달 됩니다. 만약 정해진 Containment 와 Presentation 관계를 깨뜨리면, 앱의 일부 기능이 의도한 대로 작동하지 않을 수 있다.자동 동작 : 화면 전환, View 업데이트 등Containment : VC 간의 부모-자식 관계를 설정하여 하나의 VC가 다른 VC를 포함하도록 하는 구조Presentation : 한 VC가 다른 VC를 모달 ..

  • format_list_bulleted iOS/UIKit
  • · 2025. 1. 14.
[UIKit] Container View Controller

[UIKit] Container View Controller

안녕하세요, 루피입니다! 오늘은 Container View Controller에 대해 공부하고 정리해 보는 시간을 갖도록 하겠습니다. 바로 시작합니다.Content ViewController기본적으로 뷰 컨트롤러에게 기대하는 역할(앱 내 데이터를 화면에 보여주는 등)을 수행한다고 합니다. 일반적으로 UIViewController를 서브클래싱하여 커스텀해서 사용하는 경우가 이에 해당 하겠죠..?Container ViewController여러 요소를 조합한 인터페이스를 구성하여, 보통 직접 무언가를 보여주는 역할은 하지 않고 뷰 컨트롤러 사이 부모-자식 관계를 형성하여 자식을 관리하는 역할을 하는 뷰 컨트롤러입니다. 쉽게 생각하면 Container ViewController들이 Content ViewCont..

  • format_list_bulleted iOS/UIKit
  • · 2025. 1. 12.
[UIKit] ViewController의 생명주기

[UIKit] ViewController의 생명주기

안녕하세요, iOS 개발하는 루피입니다! 오늘은 ViewController의 Life cycle에 대해 공부하고 정리해 보는 시간을 갖도록 하겠습니다.자 그러면 바로 들어가 보도록 하겠습니다!ViewController의 Life cycle 이란?ViewController에서의 생명주기는 보였다 사라지는 것과 같은 주기라고 할 수 있습니다. 일반적으로 앱들은 하나 이상의 화면을 가지며, 각각의 ViewController는 생명주기를 갖고 있는데요. 실제로 ViewController는 다음과 같은 생명주기를 갖는다고 합니다.!loadView컨트롤러가 관리하는 view를 만드는 역할을 한다고 합니다.따라서 loadView가 뷰를 만들고 메모리에 올린 후 viewDidLoad가 호출된다고 할 수 있습니다.vie..

  • format_list_bulleted iOS/UIKit
  • · 2025. 1. 11.
[UIKit] Preparing your UI to run in the foreground

[UIKit] Preparing your UI to run in the foreground

안녕하세요, iOS 개발하는 루피입니다! 오늘은 저번 글에 작성했던 참고 자료를 정리해 보는 시간을 가져보려고 합니다. 크게 Background와 Foreground에서 앱 실행을 준비하는 자료가 있었는데요, 오늘은 Foreground에서 준비를 해야 하는 내용에 관해 의역하며, 정리해 보려고 합니다. 그러면 시작해 보겠습니다.화면에 앱을 띄우기 위해 설정합시다.OverviewForeground 전환을 사용하여 앱의 UI가 화면에 표시될 준비를 하세요. 앱이 Foreground로 전환되는 것은 일반적으로 사용자의 액션에 대한 응답으로 이루어집니다. 예를 들어사용자가 앱 아이콘을 탭 하면 시스템이 앱을 실행하고 Foreground로 가져옵니다. 이 과정에서 Foreground 전환을 활용해 앱의 UI를 업..

  • format_list_bulleted iOS/UIKit
  • · 2025. 1. 10.
[UIKit] 공식문서로 App의 LifeCycle 관리에 대해 알아 보자구요

[UIKit] 공식문서로 App의 LifeCycle 관리에 대해 알아 보자구요

안녕하세요, iOS 개발하는 루피입니다! 오늘은 애플 공식문서를 바탕으로 App의 Life cycle에 대해 공부하고 정리해 보는 시간을 갖도록 하겠습니다.자 그러면 바로 들어가 보도록 하겠습니다!개요앱의 현재 상태는 앱의 특정 시점에서 수행할 수 있는 작업과 수행할 수 없는 작업을 결정합니다. 예를 들어Foreground 에 있는 앱은 사용자의 주의를 받고 있으며, CPU와 같은 시스템 자원에서 우선순위를 가집니다.반면, Background 에 있는 앱은 화면 밖에 있으므로, 가능한 한 적은 작업만 수행하거나 아예 작업을 하지 않은 것을 권장됩니다. 이처럼 앱의 상태가 변경될 때마다, 해당 상태에 맞게 앱의 동작을 조정해야 합니다. UIKit은 앱의 상태가 변경될 때 적절한 Delegate 객체의 메서..

  • format_list_bulleted iOS/UIKit
  • · 2025. 1. 10.
[UIKit] MVC패턴을 이용해 TableView를 만들어 보자

[UIKit] MVC패턴을 이용해 TableView를 만들어 보자

안녕하세요 iOS 개발하는 루피입니다. 오늘은 MVC 패턴을 적용해 테이블 뷰를 구현해 보도록 하겠습니다. 사실 저는 아키텍처의 중요성에 대해 잘 느끼지 못했었는데요... 배워야 하는 지식인지는 알았지만, 도대체 뭐가 좋은지, 왜 써야 하는지에 대한 답은 찾지 못했습니다. 하지만 최근 프로젝트를 진행하며, 저만의 이유를 조금은 찾은 거 같습니다!! 팀원 중 한 명이 개인 사정으로 일정 기간 동안 프로젝트에 참여하지 못해서 남은 개발자들이 업무를 나누어서 맡아야 하는 상황이 발생했는데요, 이때 다른 팀원의 코드를 접근하기가 너무 편하더라고요!! 물론 해당 프로젝트는 MVVM 패턴을 사용하기는 했지만요... ㅎㅎ 암튼 오늘은 코드를 베이스로 MVC 패턴을 이용해 TableView를 공부해 보도록 하겠습니다...

  • format_list_bulleted iOS/UIKit
  • · 2024. 12. 18.
[UIKit] 코드베이스 세팅하는 방법

[UIKit] 코드베이스 세팅하는 방법

UIKit을 사용하면서 코드베이스로 프로젝트를 세팅하는 방법을 남기려고 합니다.우선 세팅하는 방법을 말하기에 앞서 프로젝트를 코드베이스로 세팅하면 뭐가 좋은지에 대하여 생각해보았습니다.Code Base로 개발이 필요한 이유1. 코드만으로 되어 있어서 가볍다.2. Diff (다른 파일의 코드를 보고 비교하는 일) 보고 파악하기가 쉬워진다.3. Conflict 발생 가능성이 낮아진다.4. 재사용이 용이해진다.5. 각각의 요소에 따른 제어하는 방법을 파악할 수 있다. 저는 이정도로 생각하고 있습니다. 전체적으로 협업을 하는데 있어 편해지는거 같습니다.세팅하는 방법1. MainStoryBoard 제거StoryBoard 파일을 제거 해준다.나의 Project 파일에서 TARGETS으로 이동한다.'Build Set..

  • format_list_bulleted iOS/UIKit
  • · 2024. 12. 16.
[UIKit] UIKit이란?

[UIKit] UIKit이란?

UIKit 은 iOS, iPadOS, 또는 tvOS 앱의 핵심 인프라를 구성하는 데 사용할 수 있는 다양한 구성 요소를 제공하여 앱을 빌드하는 데 필요한 여러 기능을 지원합니다.제공하는 기능1. 윈도우와 뷰 구조: UI를 구현하기 위한 구조2. 이벤트 처리 인프라: 입력을 앱으로 전달하기 위한 구조3. 메인 런 루프: 사용자, 시스템, 그리고 앱 간의 상호작용을 관리하는 구조이 외에도 여러 기능과 정보를 제공합니다. 또한, UIKit은 SwiftUI와 원활하게 작동하므로, UIKit 앱의 일부를 SwiftUI로 구현하거나 두 프레임워크 간에 인터페이스 요소를 혼합하여 사용할 수 있습니다. 예를 들어, UIKit 뷰와 뷰 컨트롤러를 SwiftUI 뷰 내에 배치하거나 그 반대로도 가능한 경우가 그 예시가 될..

  • format_list_bulleted iOS/UIKit
  • · 2024. 12. 16.
  • navigate_before
  • 1
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (127)
    • iOS (65)
      • Swift (36)
      • UIKit (9)
      • SwiftUI (8)
      • RxSwift (12)
    • FE (8)
      • 모던 자바스크립트 (3)
      • HTML (5)
    • CS (15)
    • Algorithm (20)
    • 트러블 슈팅 (5)
    • 그 외 정리 (2)
    • 대외활동 & 회고록 (8)
    • 바로 안 나오면 모르는거다 (4)
인기 글
전체 방문자
오늘
어제
Copyright © kimsangjunzzang 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바