[iOS] viewWillLayoutSubviews와 viewDidLayoutSubviews
·
iOS/개념 & 개발
선행 내용 아래 포스팅을 먼저 보고 오시면 좋습니다 ViewController의 Lifecycle을 다룬 내용입니다. [iOS] UIViewController 생명주기(Life Cycle) 알아보기 안녕하세요. 개발하는 정주입니다. 오늘은 "UIViewController 생명주기(Life Cycle)"에 대해 알아보겠습니다. 마지막에는 프로젝트를 생성해 생명주기 메서드 호출을 알아보겠습니다. 생명주기 흐름 jeong9216.tistory.com Layout 관련된 생명 주기 viewWillAppear()와 viewDidAppear() 사이에 레이아웃이 결정되기 전, 후의 생명 주기 메서드가 있습니다. 바로 viewWillLayoutSubviews()와 viewDidLayoutSubview() 입니다. 뷰..
[Swift] 함수(function)와 메서드(method) 차이
·
Swift/개념 & 응용
포스팅을 쓰다보니 메서드와 함수 중 어떤 단어가 맞는지 정확히 모르겠어서 이 기회에 정리를 한 번 해봅니다 ㅎㅎ 함수(function) 함수는 소프트웨어에서 특정 동작을 수행하는 일정 코드 부분을 의미합니다. 같은 함수를 여러 상황에서 여러 차례 호출할 수 있으며 일부분을 수정하기 쉽다는 것이 특징입니다. 전역이든 지역이든 상관 없이 독립된 기능을 수행하면 함수라고 합니다. hello 라는 이름의 함수를 정의하고 호출하여 실행한 모습입니다. 독립적으로 존재하면서 hello 라는 문자열을 출력하는 동작을 수행하니 함수의 정의에 부합하죠? 메서드(method) 메서드(method)는 클래스, 구조체, 열거형에 포함되어 있는 함수입니다. 즉 메서드도 함수의 일종이라는 것입니다. 근데 iOS 포스팅을 할 때는 ..
[Swift] escaping과 [weak self]
·
Swift/개념 & 응용
서론 @escaping 키워드가 붙은 클로저를 본 적이 있으실 겁니다. func withEscaping(completion: @escaping () -> Void) { completion() } 가장 대표적인 예는 completionHandler가 있습니다. escaping 클로저는 non-escaping 클로저와 달리 아래 동작이 가능합니다. 파라미터로 전달된 클로저를 외부 변수/상수에 저장 가능 함수가 종료된 뒤 실행 가능 오늘 포스팅에서는 escaping에 대해 자세히 알아봅시다. non-escaping 클로저 escaping 클로저에 대해 자세히 알아보기 전에 non-escaping 클로저에 대해 알아봅시다. @escaping 이 붙지 않은 클로저는 모두 non-escaping 클로저인데요. 무슨..
[동작구 맛집] 약초마을 본점 리뷰 / 노량진 맛집 / 삼계탕 맛집 / 황기 오리 백숙 맛집
·
🐱 정주는 쉬는 중 :]/맛집
기본 정보 가게 이름 약초마을 본점 위치 서울 동작구 노량진로 26 메뉴 & 가격 죽염 황기 오리(백숙) 64,000원 가게 입구 & 메뉴판 가게 입구입니다. 약초마을 본점은 주차장이 잘 되어 있어서 너무 좋았어요. 가게 앞에도 주차 공간이 있고 건물 지하 주차장도 굉장히 잘 되어 있습니다. 대기는 좀 많은 편이에요. 오늘이 초복이라 그런지 몰라도 사람이 굉장히 많았습니다. 1시쯤 방문했는데 앞에 16팀이 있었고 30분가량 대기했습니다. 가게가 넓어서 대기 팀에 비해 대기 시간은 적은 편입니다 ㅎㅎ 메뉴판입니다. 저희는 황기 오리 백숙을 먹었는데 대부분 삼계탕을 드시더라고요. 서비스도 좋고 양도 많고 맛도 좋지만 가격은 살짝 비싼 감이 있어요. 하지만 다 먹고 나오니 비싸다고 느껴지지는 않았습니다 ㅎㅎㅎ..
[Swift] Class와 Struct
·
Swift/개념 & 응용
Class와 Struct 새로운 데이터 구조를 정의할 때 구조체와 클래스 중에 무엇을 사용할지 고민합니다. 클래스와 구조체의 차이에 대해 알아보고 어떤 상황에서 무엇을 쓰면 좋을지 알아보겠습니다. 공통점 Swift에서 Class와 Struct는 공통점이 꽤 많습니다. property와 메서드를 정의할 수 있고 init 함수를 통해 초기화할 수 있습니다. 또한, 둘 다 extension을 통해 기능을 확장할 수 있으며 protocol 채택도 할 수 있습니다. 이러한 공통점 덕에 구조체와 클래스 중 무엇을 사용해도 어느정도 구현은 할 수 있죠. 하지만 최적화된 구현을 하기 위해서는 차이점을 파악하여 적절한 선택을 해야합니다. 지금부터는 차이점에 대해 알아봅시다. 타입 종류 클래스는 참조(reference) ..
[Swift] ContiguousArray와 ArraySlice
·
Swift/개념 & 응용
서론 Swift의 Array는 이미 훌륭하지만 더 최적화를 시킬 수 있는 방법이 있다는 것을 알고 계시나요? 오늘 알아볼 ContiguousArray와 ArraySlice를 이용해 최적화할 수 있는 상황이 있습니다. 오늘은 그 상황과 방법을 알아보도록 합시다. ContiguousArray ContiguousArray는 항상 배열 요소를 인접한 메모리 영역에 저장합니다. 쉽게 말해 항상 연속적인 저장을 보장 받습니다. 그건 배열도 똑같은거 아니야? 라고 생각할 수 있겠지만 Swift의 Array는 Element가 클래스 타입이거나 @objc 프로토콜 타입인 경우 메모리에 연속적으로 저장되지 않습니다. 왜냐하면 NSArray 저장소에 백업이 될 가능성이 있기 때문입니다. 그래서 Array는 Element가 ..
[Swift] Identifiable
·
Swift/개념 & 응용
Identifiable란? Identifiable란 인스턴스의 유일성을 위해 ID 설정을 강제하는 프로토콜입니다. 예를 들어, 성별, 키, 외모 등 모든 것이 완벽하게 동일한 쌍둥이가 있다고 합시다. Equtable의 관점에서 보면 이 둘은 모든 값이 같기 때문에 동일한 사람입니다. 하지만 Identifiable 프로토콜은 이 둘에게 서로 다른 주민등록번호를 제공해서 다른 사람으로 구분합니다. 주민등록번호가 바로 ID 역할을 하는 것이죠. Identifiable의 코드 부분입니다. 유일성을 보장하기 위해 Hashable 프로토콜을 채택하고 있습니다. ID는 아래와 같은 특성을 갖습니다. UUID와 같이 항상 고유하게 보장됩니다. 환경마다 지속적으로 고유합니다. 프로세스의 수명 동안 고유합니다. 개체의 수..
[Swift] Equatable
·
Swift/개념 & 응용
서론 Equatable과 Identifiable은 비슷하지만 다른 개념입니다. 공식문서에서도 See Also로 Identifiable를 봐보라고 알려주네요. 이 둘에 대해서 처음 들어보신 분도, 익숙하신 분도 계실텐데요. 이번 포스팅에서는 Equatable가 무엇인지 알아보겠습니다. 다음 포스팅에서는 Identifiable에 대해 알아볼 예정이에요! Equatable Equatable에 대해 알아봅시다. Equatable은 프로토콜 중 하나로 값이 같은지 비교할 수 있는 타입입니다. 용어가 낯설다고 생각하시는 분들은 아래 사진을 봐주세요. 개발자라면 낯설 수가 없는 이 부호가 사실 Equatable의 필요 조건이었습니다. 즉, Equatable을 준수하기 위해서는 == 연산자를 통해 "같다"를 정의해야 ..
[iOS] URLSession 개념
·
iOS/개념 & 개발
URL Loading System URLSession 문서에서는 URL Loading System을 선행하는 것을 권장하고 있습니다. 아래 포스팅을 보고 오시는 것을 추천 드립니다. [iOS] URL Loading System URLSession을 공부하기 전 The URLSession API involves many different classes that work together in a fairly complex way which may not be obvious if you read the reference documentation by itself. Bef.. jeong9216.tistory.com URLSession이란? HTTP/HTTPS 통신 URLSession에 대해 공부하기 전 HTTP..
[iOS] URL Loading System
·
iOS/개념 & 개발
URLSession을 공부하기 전 The URLSession API involves many different classes that work together in a fairly complex way which may not be obvious if you read the reference documentation by itself. Before using the API, read the overview in the URL Loading System topic. The articles in the Essentials, Uploading, and Downloading sections offer examples of performing common tasks with URLSession. URLSessio..
유정주
'분류 전체보기' 카테고리의 글 목록 (26 Page)