xxo' TIL/WIL

분류 전체보기 41

[iOS] iOS UINavigationController

UINavigationController는 iOS 앱 개발에 사용되는 UIKit 프레임워크의 핵심 구성 요소로, 여러 뷰 컨트롤러(View Controller)를 계층적으로 관리하는 컨테이너 뷰 컨트롤러입니다. 화면 간의 내비게이션을 관리하는 컨트롤러로, 화면 전환을 쉽게 구현할 수 있도록 도와줍니다. 앱 내에서 화면을 이동하고, 뒤로 돌아가거나, 일련의 단계를 거쳐 콘텐츠를 탐색하는 기능을 제공합니다. 보통 UINavigationController 클래스가 사용되며, 스택 기반 구조로, 각 화면을 스택에 푸시(push)하거나 팝(pop)하여 화면을 전환하고 쌓아 올리며 관리하는 역할을 합니다. 가장 대표적인 기능은 화면 간의 스택 기반 내비게이션을 제공하는 것입니다. 주요 특징 및 기능내비게이션 스..

IOS/iOS 2025.08.20

[iOS] iOS 앱 하단 탭 막대(Tab Bar) / UITabBarController

iOS에서 탭 막대(Tab Bar)는 일반적으로 앱 화면의 하단에 위치한 내비게이션 요소로, 사용자가 앱의 여러 주요 섹션을 빠르고 쉽게 전환할 수 있도록 돕는 탐색 제어 요소입니다. 즉 Tab Bar는 iOS에서 사용되는 UI 컴포넌트로 앱 내에서 주요 화면이나 기능에 쉽게 접근할 수 있게 도와주고 앱 내 여러 화면 간의 빠른 탐색을 가능하게 합니다. 탭 바는 여러 개의 탭을 포함할 수 있으며, 기본적으로 아이콘과 텍스트를 함께 표시하여 사용자가 현재 선택된 탭을 쉽게 알 수 있도록 합니다. 각 탭은 다른 화면이나 기능을 연결하며, 탭 막대는 앱의 정보 계층을 단순화하고, 동등한 수준의 카테고리에 동시에 접근할 수 있도록 하는 데 유용합니다. iOS 앱 개발에서 UITabBarController를 사용..

IOS/iOS 2025.08.15

[UIKit] mini project AppleFrameworks(UICollectionView)

UIKit의 UICollectionView를 이용해 iOS에서 실제 그리드와 리스트를 연습하고 리스트 뷰 구현하기. AppleFrameworks는 컬럼이 3개인 멀티 컬럼 그리드 뷰를 보여주고 상단 내비게이션 바가 있는 앱으로, 해당 미니 프로젝트에서 뷰 구성요소로 이미지, 이름이 필요한데 CollectionView를 사용하여 이미지, 레이블을 사용하여 넣어준다. UICollectionView를 이용한 리스트 및 그리드 개발을 위한 3가지 핵심인 Data / Presentation / Layout를 사용하여 AppleFrameworks를 보여주는 간단한 앱이다. 해당 mini project는 아이폰16으로 설정. ViewController부터 만들어서 스토리보드에 연결하고 Storyboard ID를..

IOS/UIKit 2025.08.14

[Error] Failed to load repository owners

"Failed to load repository owners" 오류는 보통 Xcode, GitHub의 Git 기반의 원격 저장소 서비스에 연결할 때 발생하는 인증 문제로, 로컬 환경과 원격 저장소 간의 인증 또는 권한 문제로 인해 발생합니다. 코드 호스팅 서비스에서 발생하는 문제로, 레포지토리의 소유자 정보를 로드하는 데 실패했음을 의미합니다. 즉 시스템이 저장소 소유자 정보를 제대로 불러오지 못했음을 의미하며, 계정 인증 토큰(Personal Access Token)이나 권한 설정에 문제가 있을 때 주로 발생합니다. 주요 원인 및 해결 방법개인 액세스 토큰(Personal Access Token) 만료 또는 권한 부족 : GitHub의 보안 정책 강화로 인해 더 이상 비밀번호를 통한 직접적인 인증..

IOS/Error 2025.08.11

[Error] Thread 1: breakpoint 1.5

"Thread 1: breakpoint 1.5" 오류는 보통 디버깅 중 의도치 않게 breakpoint가 설정되었을 때 발생하는 오류로, 프로그램 실행 중 특정 위치에 설정된 중단점(breakpoint)에서 프로그램이 멈추게 되는 현상입니다. 일반적으로 중단점(breakpoint)이 설정되어 있거나, 예외 중단점(exception breakpoint)이 활성화되어 발생합니다. 이 오류는 앱이 충돌한 것이 아니라, 개발자가 특정 지점에서 프로그램 실행을 잠시 멈추도록 설정한 breakpoint에 도달했다는 의미로, 오류 메시지의 Thread 1은 주 실행 스레드를 의미하며 breakpoint 1.5는 1번 스레드에 1.5번 breakpoint가 설정되어 있다는 것을 나타냅니다. breakpoint?b..

IOS/Error 2025.08.10

[UIKit] mini project ChatList(UICollectionView)

UIKit의 UICollectionView를 이용해 iOS에서 실제 그리드와 리스트를 연습하고 리스트 뷰 구현하기. 채팅리스트는 컬럼이 1개인 리스트 뷰를 보여주는 채팅 리스트 앱으로, 해당 미니 프로젝트에서 뷰 구성요소로 이미지, 이름, 텍스트, 날짜가 필요한데 CollectionView를 사용하여 이미지, 레이블을 사용하여 넣어준다. UICollectionView를 이용한 리스트 및 그리드 개발을 위한 3가지 핵심인 Data / Presentation / Layout를 사용하여 카톡 형태의 채팅리스트를 보여주는 간단한 앱이다. 해당 mini project는 아이폰16으로 설정. 빈 화면을 채울 ViewController 만들기. 새로운 ViewController 만드는 방법은 다른 글에 상세히 ..

IOS/UIKit 2025.08.02

[Error] no exact matches in call to initializer

"Xcode No exact matches in call to initializer" error는 Xcode에서 Swift에서 매우 흔하게 발생하는 컴파일러 오류입니다. 이 오류는 주로 초기화하려는 객체의 생성자가 호출될 때, 전달된 인자가 해당 생성자와 일치하지 않을 때 발생합니다. 이 오류는 말 그대로 "초기화 구문 호출에 정확히 일치하는 것이 없다"는 의미입니다. 예를 들어, 생성자가 특정 타입이나 개수의 매개변수를 기대하는데, 다른 타입이나 개수의 값을 전달할 때 이 오류가 발생합니다. 즉, 코드가 특정 타입의 인스턴스를 생성(초기화)하려고 하지만, 제공된 인자(argument)들이 해당 타입이 가지고 있는 어떤 초기화 구문(initializer)과도 정확히 일치하지 않을 때 발생합니다. 주..

IOS/Error 2025.08.01

[Error] [UIView setDataSource:] unrecognized selector sent to instance

"[UIView setDataSource:] unrecognized selector sent to instance" 오류는 UIView 객체에서 setDataSource 메서드를 호출하려고 할 때 발생하는 오류입니다. 이 오류는 UIView 클래스에는 setDataSource 메서드가 정의되어 있지 않기 때문에 발생합니다. 보통 UITableView나 UICollectionView와 같은 특정 UI 컴포넌트에서 setDataSource를 사용하는데, UIView는 그와 같은 기능을 제공하지 않기 때문에 이런 오류가 생깁니다. 즉 UIView 클래스에는 setDataSource라는 메서드가 없는데, 해당 메서드를 호출하려고 할 때 발생하는 런타임 오류입니다. 주요 원인잘못된 클래스에 메서드를 호출한..

IOS/Error 2025.07.31

[Error] Thread 1: Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value

"Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value" 오류는 Swift 개발 시 매우 흔하게 발생하는 오류로 옵셔널 값을 암시적으로 언래핑(implicitly unwrapping)할 때 발생하는 문제입니다. 이 오류는 런타임 시(앱 실행 중)에 발생하며, 옵셔널(Optional) 변수가 nil 상태인데, 이를 강제로 언래핑(unwrap)할 때 그 값이 nil인 경우 발생합니다. 즉, 예상치 못한 nil 값을 언래핑하려고 할 때 Fatal error가 발생합니다. 쉽게 말해, '값이 있을 수도 있고 없을 수도 있는' 변수인데, '값이 반드시 있을 거야'라고 확신하고 사용하다가, 실제로는 값이 없어서(nil) 프..

IOS/Error 2025.07.30

[UIKit] mini project StockRank(UICollectionView)

UIKit의 UICollectionView를 이용해 iOS에서 실제 그리드와 리스트를 연습하고 리스트 뷰 구현하기. StockRank는 컬럼이 1개인 리스트 뷰를 보여주는 앱으로, 해당 미니 프로젝트에서 뷰 구성요소로 CollectionView를 사용하여 주식의 순위, 회사 로고, 회사이름, 가격, 득락폭, 이미지 등을 넣어준다. UICollectionView를 이용한 리스트 및 그리드 개발을 위한 3가지 핵심인 Data / Presentation / Layout를 사용하여 주식리스트를 보여주는 간단한 앱이다. 해당 mini project는 아이폰16으로 설정. UICollectionView를 이용한 리스트 및 그리드 개발 시 핵심 3가지.Data / Presentation / LayoutData ..

IOS/UIKit 2025.07.29