공식 문서 Apple Developer Document - OperationQueue OperationQueue OperationQueue(작업 대기열)는 작업 실행을 관리하는 큐이다. Foundation프레임워크의 Task Management기능 중 하나이다. Declation class OperationQueue: NSObject OverView Operating Queue는 우선 순위와 준비상태에 따라 대기 중인 Operation(작업)을 실행한다. Operating Queue에 작업이 추가된 후엔 작업이 끝났다고 보고될 때까지 Operating Queue에 작업이 남아있게 된다. Operating Queue에 추가된 작업을 직접적으로 제거할 순 없다. 하나의 작업은 끝날 때까지 Operating ..
저번 글에 이어 이번 글에서는 스토리보드 없이 만들어진 화면에 버튼과 레이블, 이미지 뷰를 추가해보려고 합니다! 우선 완성된 화면을 먼저 보여드리고 진행하도록 하겠습니다. 아주 간단하게 만든 앱으로 스토리보드 없이 오토 레이아웃 적용하기, 버튼 눌렀을 때 이벤트 생성하기 정도의 글입니다. 물론 스토리보드를 이용하면 아주 간단하게 만들 수 있지만 스토리보드가 없는 상황에선 은근히 많은 코드가 필요합니다. 저번에 만들어 둔 MyViewController.swift 파일에 코드를 작성하면 위와 같은 결과를 얻어낼 수 있습니다. 먼저 버튼을 추가해보겠습니다. 위의 코드와 같이 작성하면 오른쪽 사진과 같이 버튼하나가 추가됩니다. 오토 레이아웃을 설정하는 부분이 어려웠는데 self.view의 경우에는 전체 화면이라..
iOS 개발 공부를 하면서 새 프로젝트를 생성하면 기본적으로 생성되어있던 여러 가지 Swift파일들과 Main.Storyboard로 바로 개발을 시작했었는데, 이러한 파일들은 무슨 역할을 하는 것이며 Storyboard 없이 개발하는 방법은 없을까를 알아보았고 실제로 스토리보드 없이 개발하는 방법을 기록해두러고 합니다. 실제 현업에서는 스토리보드 없이 개발을 진행하는 곳도 많다고 하니 꼭 알아야 할 것 같습니다. 우선 프로젝트를 만들 때 템플릿을 아래와 같이 설정합니다. 그다음 User Interface에서 Storyboard를 선택하고 프로젝트를 생성합니다. 이렇게 프로젝트를 생성하면 아래와 같은 파일들이 자동적으로 생성되어있습니다. 여기서 이번 글에서 중점적으로 볼 것은 Main.storyboard ..
iOS 앱에서도 그렇고 우리는 많은 곳에서 return(엔터키) 키를 사용하여 여러 가지 작업을 편리하게 하는 경우가 많다. 예를 들어 로그인을 하려고 할 때 모든 정보를 입력하고 엔터를 누르면 로그인 버튼을 누르지 않고도 로그인이 가능하게 하는 기능이 있다. 이러한 동작을 iOS 앱의 UITextField에서 사용할 수 있게 프로그래밍을 해보자 이러한 기능을 쉽게 구현하기 위해 textFieldShouldReturn이라는 메서드를 사용할 수 있는데 해당 메서드의 정보는 Apple 공식 문서 - textFieldShouldReturn여기서 볼 수 있다. Declaration - (BOOL)textFieldShouldReturn:(UITextField *)textField; 이 메서드의 코드가 UIText..
iOS에서는 View가 화면에 나타나거나 사라질 때 호출되는 메서드들이 정의되어있다. 그중 오늘 시행착오를 겪은 viewWillAppear에 대한 글을 작성하려고 한다. Declaration func viewWillAppear(_ animated : Bool) Discussion 이 메서드 이름 그대로 해석하게 되면 뷰가 곧 나올 것이라고 예상될 때 호출된다고 볼 수 있다. 이는 xcode에서 프로젝트를 생성 시 자동으로 생성되는 viewController.swift의 viewDidLoad 메서드와 큰 차이점이 있다. viewDidLoad는 처음 뷰가 나타날 때 한 번만 호출되지만 viewWillAppear은 뷰가 나타날 때마다 호출된다. 즉 뷰가 보일 때마다 새로운 작업을 하고 싶을 때 사용하면 좋다...
Apple Developer Documentation - UITableView UITableView 테이블 뷰는 하나의 열에 Array로 이루어진 여러 개의 행을 사용하여 데이터를 표시하는 뷰이다. Declaration class UITableView: UIScrollView Overview 테이블 뷰는 iOS 화면에서 하나의 열을 여러 행으로 나누어 각각의 행마다 콘텐츠를 넣어둔 것이다. 테이블 뷰는 위아래로만 스크롤이 움직인다. 예를 들어 위의 Contacts 앱에서 각각의 contact가 하나의 열로 되어있는 것을 볼 수 있다. 또한 오른쪽의 Settings 앱에서는 그룹 별로 열들이 나누어져 있는 것을 볼 수 있다. 위와 같이 열들을 그룹으로 나누어 볼 수도 있고 하나의 그룹으로 처리할 수도 있다..
Apple Developer Documentation - UITableViewDelegate UITableViewDelegate 테이블 뷰에서 section의 header, footer를 관리하고 셀을 삭제하거나 위치를 바꾸고 그 외의 다른 작업을 수행하기 위한 메서드를 제공한다. Declaration protocol UITableViewDelegate Overview UITableViewDelegate 프로토콜을 사용해서 할 수 있는 일들 1. 테이블 뷰의 header, footer를 만들고 관리 2. 셀과 header, footer의 높이를 마음대로 조절 3. 더 나은 스크롤링을 위해 높이 조절 4. 셀의 콘텐츠를 나눈다 5. 셀의 선택에 대한 응답 6. 셀에 대한 스와이프나 그 외의 행동에 대해 응..
Apple Developer Documentation - UITableViewDataSource UITableViewDataSource 테이블 뷰의 셀에 사용되는 데이터를 관리하기 위해 채택하는 프로토콜 Declaration protocol UITableViewDataSource Overview 테이블 뷰는 데이터를 보여주기만 하는 것이지 자체적으로 데이터를 관리할 수는 없다. 데이터를 관리하기 위해서는 UITableViewDataSource 프로토콜을 사용해야 한다. data source object는 테이블에서 데이터와 관련된 요청이 오면 응답하며 테이블의 데이터를 직접 관리하거나 앱의 다른 부분과 조정하여 해당 데이터를 관리한다. data source object의 다른 기능은 다음과 같다. 1. ..
- Total
- Today
- Yesterday
- 코딩테스트
- Apple
- 스위프트
- 알고리즘
- dfs
- 프로그래밍
- design
- Xcode
- Combine
- OS
- 동시성
- mac
- DP
- operating
- 자료구조
- OSTEP
- 문법
- 아이폰
- 코테
- Publisher
- System
- operator
- pattern
- IOS
- 앱개발
- Swift
- 테이블뷰
- BFS
- document
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |