-
[iOS] Equatable 이란?iOS/🍎 Documentation 2021. 1. 20. 16:57
Equatable 은 값의 동등성 비교 기능을 제공하는 타입입니다. 엥? 프로토콜인데 왜 타입이냐? 스위프트에서는 프로토콜도 타입입니다! 😲 관련 글: Protocol as Types 스위프트에서 값의 같음은 == (equal to) 와 != (not equal to) 연산자로 비교합니다. Equatable 프로토콜을 채택한 타입은 == 와 != 연산자를 사용할 수 있습니다. Swift의 primitive type 들은 Equatable 을 자동으로 지원합니다. (Int, Double, String ... 등) 그렇다면 커스텀 타입인 enum, struct, class 의 경우는 어떨까요? 하나씩 보겠습니다.👇🏻👇🏻👇🏻 enum 관련 글 : emumeration 총정리 연관 값이 없는 기본 열거형 형태일..
-
Roadmap (2) - Computer NetworkGeneral/🕸 Network 2021. 1. 20. 12:42
강의: 이화여대 KOCW 컴퓨터 네트워크 교안: Computer Networking: A Top Down Approach 중요하다고 생각되는 부분 위주로 복기하였습니다. Circuit switching physical media 중 guided media로 통신할 때, 사용할 수 있는 자원이 한정되어 있습니다. 자원 예약 ( set up & reserve ) 시 다른 host는 그 링크를 사용할 수 없습니다. 한 host가 독점하면 OS에서의 starvation 과 같은 현상이 발생할 것입니다. 따라서 자원 분할 이 필요합니다. FDM versus TDM " 자원 분할 방법 " Frequency Division Multiplexing: 주파수 대역을 기준으로 사용자를 자원을 점유합니다. Time Divi..
-
Review of Work with View Controllers (2) - Food TrackeriOS/🤖 App 2021. 1. 19. 23:44
Create a Gesture Recognizer Image view는 control 이 아닙니다. 그렇기 때문에 button 이나 slider와 같이 사용자의 input에 반응하도록 설계되지 않았습니다. 따라서 바로 Control-drag 을 통해서 action method를 넣을 수 없습니다. 이전 글의 마지막 부분 ( `Connet the Image View to Code` )에 이 내용을 다루었습니다. View를 control처럼 동작하게 하는 방법은, 해당 View에 gesture recognizer를 추가하는 것입니다. Gesture recognizer 는 view에 붙이는 객체로, control과 같이 사용자의 input에 반응하도록 만들 수 있습니다. 각각의 Gesture recognize..
-
[Swift] 타입으로서의 프로토콜 ( Protocol as Type )iOS/🟠 Swift 2021. 1. 19. 15:32
참고 자료: Protocols - swift.org 프로토콜은 First Class Citizen 이기 때문에, 하나의 독립적인 타입 ( a fully fledged types ) 으로 사용할 수 있습니다. 따라서 아래 3가지가 가능합니다. 1. function, method, initializer 의 parameter 와 return type으로 사용 가능 2. constant, variable, property 의 type 으로 사용 가능 3. array, dictionary 와 같은 컨테이너의 item의 type으로 사용 가능 그리고 타입이기 때문에 Upper Camel Case 를 사용합니다. (e.g. RandomNumberGenerator, FullyNamed ...) class Dice { ..
-
[Swift] 프로토콜 생성자 요구사항 (Initializer Requirements)iOS/🟠 Swift 2021. 1. 19. 14:36
참고 자료: Protocols - swift.org Syntax 프로토콜에서 Initializer 는 메서드 선언 방식과 마찬가지로 { } (curly brace) 없이 init(...) 과 같은 꼴로 선언해줍니다. protocol SomeProtocol { init(someParameter: Int) } Protocol 을 채택한 Class의 Initializer 구현 프로토콜을 채택한 타입은 Initializer를 designated initializer나 convenience initializer로 구현할 수 있습니다. 프로토콜은 class, struct, enum 타입만 채택할 수 있습니다. 두 경우 모두 `required` 키워드를 initializer 앞에 붙여주어야 합니다. SomeClass..
-
[Swift] @main 과 커스텀 엔트리 포인트iOS/🟠 Swift 2021. 1. 19. 13:54
1차 수정: 21.09.28 안녕하세요 🐶 이번 시간에는 @main 특성 (attribute) 에 대해서 알아보겠습니다. 그럼 시작해볼게요🔥 A more general purpose and lightweight mechanism for delegating a program’s entry point to a designated type. @main 의 기능 @main 은 스위프트 5.3버전에서 구현된 범용적인 새로운 엔트리 포인트 제공 기능입니다. 이전에는 앱 개발용 프로그램을 위해서는 @UIApplicationMain 이라는 어트리뷰트로 엔트리포인트를 지정했습니다. @main 이 범용적인 이유는 단일 파일 코드이던 프레임워크 프로젝이던 커스텀 라이브러리던 상관없이 동일하게 엔트리포인트를 제공해줄 수 있기..