이번 글에서는 여러 가지 디자인 패턴 중 iOS 앱 개발에 적용되는 MVC(Model-View-Controller)에 대해 알아보려고 한다. Apple Developer Document - Model-View-Controller Model-View-Controller Model-View-Controller(MVC) 디자인 패턴은 꽤 오래되었다. 이는 글로벌 아키텍처와 관련되어있고 일반적인 역할에 따라 객체를 분류한다는 점에서 높은 수준의 패턴이다. 객체 지향 프로그램에서 MVC 디자인 패턴을 적용하면 여러 가지 장점이 있다. 객체 지향 프로그램에서 객체는 재사용 가능성이 높고 서로의 상호작용이 잘 정의되어있다. 이는 MVC 디자인 패턴을 기반으로 하는 프로그램이 변화하는 요구사항에 잘 적응할 수 있다는 ..
이번 글에서는 Swift 공식 문서의 15번째 단원인 Deinitialization을 읽고 정리한 글을 쓰려고 한다. Apple Swift 공식문서 15단원 - Deinitialization Deinitialization Deinitializer(소멸자)는 클래스 인스턴스의 메모리 할당이 해제되기 직전에 호출된다. Initializer가 init 키워드로 작성되는 방식과 비슷하게 Deinitializer는 deinit 키워드로 작성한다. 소멸자는 클래스에서만 사용할 수 있다 How Deinitialization Works Swift는 더 이상 필요하지 않은 인스턴스를 자동으로 메모리 할당을 해제하여 리소스를 확보한다. Swift는 인스턴스의 메모리를 Automatic Reference Counting(A..
이번 글에서는 Swift 공식 문서의 14번째 단원인 Initialization을 읽고 정리한 글을 쓰려고 한다. Apple Swift 공식 문서 14단원 - Initialization Initialization Initialization(생성자)는 클래스, 구조체, 열거형에서 인스턴스를 준비하기 위한 과정이다. 이러한 과정은 인스턴스의 프로퍼티들마다 초기값을 설정해주고 새 인스턴스를 사용하기 전에 필요한 설정과 초기화를 수행하는 과정이 포함된다. 각각의 타입에서 새로운 인스턴스를 만들 수 있는 특수한 메서드와 같은 역할을 하는 생성자를 정의하여 사용할 수 있다. Objective-C의 생성자와는 다르게 Swift의 생성자는 값을 반환하지는 않는다. 생성자의 가장 중요한 역할은 새로운 인스턴스가 처음 사..
모든 것을 스토리보드 없이 코드로 만들어보려고 노력 중인데요, 그래서 이번 글에서는 스토리보드 없이 네비게이션 컨트롤러를 만들어 보려고 합니다. 우선 스토리보드를 삭제하는 작업과 셋팅은 [iOS 앱개발 프로그래밍] 스토리보드(Storyboard) 없이 iOS 앱 개발하기 - 1를 참고해주세요! 스토리보드가 없이 앱을 실행했을 때 시작화면을 세팅하기 위해서는 SceneDelegate.swift 파일을 수정해주면 됩니다. 위와 같이 수정해주면 네비게이션내비게이션 컨트롤러가 추가되고 첫 번째 화면은 네비게이션 컨트롤러가 적용된 FirstViewController가 됩니다. 그렇다면 이번엔 FirstViewController를 구분 가능하도록 간단히 수정해보겠습니다. 그냥 간단하게 네비게이션 아이템의 타이틀을 ..
지난 글에 이어 이번 글에서는 아이폰에 저장되어있는 사진들로 컬렉션 뷰를 채워보는 작업을 해보도록 하겠습니다. 이렇게 iOS에서 사진이나 비디오들을 다루기 위해선 PhotoKit을 사용해야 합니다. 여기서 간단하게 iOS의 Photos 프레임워크가 사진과 동영상을 취급하는 모습을 그림으로 나타내 보겠습니다. 위의 그림과 같이 iOS의 사진과 비디오는 3 계층으로 되어있는데 간단하게 말하면 Asset과 Asset을 모은 Asset Collection, Asset Collection을 모은 Collection List로 구성됩니다. Asset은 사진이나 비디오 파일을 말하며 Asset Collection은 앨범이나 사진 폴더라고 보면 쉽습니다. 그리고 이러한 폴더들을 모아둔 것이 Collection List..
안녕하세요! 이번 글은 iOS에서 간단한 사진앱을 만들어보기 위한 첫 번째 글이에요! 이번 글에서는 사진앱을 위한 컬렉션 뷰를 스토리 보드 없이 만들어 보려고 합니다. 스토리 보드 없이 개발하는 방법은 아래 링크에서 확인하실 수 있어요. [iOS 앱개발 프로그래밍] 스토리보드(Storyboard) 없이 iOS 앱 개발하기 - 1 그럼 이제 컬렉션 뷰를 스토리보드 없이 만들어 보겠습니다! 우선 이번에 구현할 컬렉션 뷰라는 것이 어떤 것인지 먼저 보고 넘어가는 게 좋을 것 같아요. 위와 같이 간단하게 사진을 나열하는 컬렉션 뷰를 만들어 보려고 합니다. 우선 컬렉션 뷰는 CollectionView, CollectionViewCell, CollectionViewDataSource, CollectionViewDe..
내가 만든 앱에서 스마트폰에 저장된 사진과 비디오를 사용하고 싶을 때 사용하는 라이브러리입니다. 직접 사용하는 방법은 여기에서 참고하면 됩니다~ 공식 문서 Apple Developer Document - PhotoKit PhotoKit iCloud Photos, Live Photos를 포함하여 Photos 앱에서 관리하는 이미지 및 비디오 에셋으로 작업할 수 있게 해 준다. Overview iOS 및 macOS에서 PhotoKit은 사집 앱에서 사진 편집 기능을 지원하는 클래스를 제공한다. iOS, macOS, tvOS에서 PhotoKit은 사진 앱에서 관리하는 사진, 비디오 에셋에 직접 접근할 수 있다. 위의 그림과 같이 PhotoKit을 사용하면 보여주거나 재생을 위해 비디오나 이미지를 가져오고 이들..
이번 글에서는 저번 글에 이어 컬렉션 뷰에서 Flow Layout을 사용하는 방법에 대하여 알아보려고 한다. 해당 정보는 공식 문서를 참고했다. Apple Developer Document - Using the Flow Layout Using the Flow Layout 컬렉션 뷰에서 UICollectionViewFlowLayout 클래스의 레이아웃 객체를 사용해서 항목들을 정렬할 수 있다. Flow 레이아웃은 선 기반 레이아웃을 구현한다. 이 말은 flow 레이아웃이 셀들을 임의의 선을 그려 그 위에 배치한다고 보면 된다. 만약 임의의 선에 셀들이 다 차면 새로운 선을 그려서 계속 배치해 나간다. 위의 그림에서는 세로로 스크롤되는 flow 레이아웃의 모습을 보여준다. 여기서 각각의 선들이 가로로 그려지..
- Total
- Today
- Yesterday
- 앱개발
- 알고리즘
- 백준
- 동시성
- DP
- 문법
- operating
- dfs
- 코테
- BFS
- pattern
- Xcode
- 아이폰
- OSTEP
- 프로그래밍
- design
- Publisher
- 자료구조
- IOS
- mac
- 테이블뷰
- System
- Combine
- OS
- 스위프트
- Swift
- document
- operator
- 코딩테스트
- Apple
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |