공식문서 Apple Developer Document - Operation Operation 단일 task(작업)과 관련된 코드 및 데이터를 나타내는 추상 클래스 Declaration class Operation: NSObject Overview Operation 클래스가 추상 클래스이기 때문에 직접적으로 사용하는 것이 아닌 서브 클래스나 시스템 정의 서브클래스(NSInvocationOperation, BlockOperation) 중 하나를 사용하여 사용 가능하다. 추상 클래스이지만 Operation의 기본 구현에는 작업의 안전한 실행을 조정하는 중요한 논리가 포함된다. 이러한 built-in logic이 있기 때문에 시스템 객체와 올바르게 작동하는데 필요한 glue code보다 실제 작업 구현에 집중할..
공식 문서 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 ..
이번 글에서는 Swift 공식 문서의 13번째 단원인 Inheritance를 읽고 정리한 글을 쓰려고 한다. Apple Swift 공식문서 13단원 - Inheritance Inheritance 클래스는 다른 클래스에게 메서드, 프로퍼티, 그리고 다른 것들을 상속해줄 수 있다. 상속을 해주는 클래스를 superclass(슈퍼클래스), 상속을 받는 클래스를 subclass(서브클래스)라고 한다. 상속은 Swift에서 클래스를 차별화해주는 기능이라고 볼 수 있다. Swift에서의 서브클래스는 슈퍼클래스의 메서드, 프로퍼티, 서브스크립트에 접근할 수 있고 호출할 수 있다. 또한 슈퍼클래스의 메서드, 프로퍼티, 서브 스크립트를 오버 라이딩하여 서브클래스 자체의 것도 만들 수 있다. Swift는 서브클래스에서 오..
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은 뷰가 나타날 때마다 호출된다. 즉 뷰가 보일 때마다 새로운 작업을 하고 싶을 때 사용하면 좋다...
이번 글에서는 Swift 공식 문서의 12번째 단원인 Subscripts를 읽고 정리한 글을 쓰려고 한다. Apple Swift 공식 문서 12단원 - Subscripts Subscripts 클래스, 구조체, 열거형에서 subscript를 정의할 수 있다. 이러한 서브 스크립트는 해당 타입의 요소에 접근하기 위해 사용된다. 수정과 검색을 위한 별도의 메서드 없이 index로 값으로 수정과 검색을 할 수 있다. 예를 들어 Array는 someArray [index]로 Dictionary는 someDictionary[key]로 접근할 수 있다. 하나의 타입에 여러 개의 서브 스크립트를 정의할 수 있고 index의 유형에 따라 적절하게 서브 스크립트를 선택하게 된다. Subscript Syntax 서브 스크립..
- Total
- Today
- Yesterday
- Combine
- pattern
- 자료구조
- IOS
- 동시성
- Swift
- 테이블뷰
- 백준
- design
- System
- dfs
- 코딩테스트
- OS
- 코테
- 알고리즘
- operator
- Publisher
- Xcode
- 스위프트
- DP
- document
- 문법
- OSTEP
- 프로그래밍
- mac
- 아이폰
- operating
- 앱개발
- Apple
- BFS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |