Home
Today Huny Learned
Cancel

[UIKit] 프로토콜을 통해 상태 설정이 가능한 View를 만들어보자

예전에 한 번 다뤘던 주제인데 보다 발전된 형태를 갖추게 되어 새롭게 글을 작성한다. 이전 글 [iOS] View에 Custom State를 만들어보자 거두절미하고 본론부터 들어가자면 본 주제는 뷰를 생성할 때 상태에 따른 뷰의 설정 값을 초기화하여 외부에서는 뷰의 상태만 변경하고, 뷰를 어떻게 바꿀 지는 모르도록 해보자 라는 아이디어에서 시작되...

[iOS] Daily Football 출시 회고

SeSAC iOS 과정을 진행하며 약 3주 간의 스프린트를 거쳐 앱 스토어에 앱을 출시하였습니다. 첫 번째로 출시한 앱인만큼 감회가 무척 새로울 것 같았지만, ‘진짜 이제 시작이구나’ 라는 생각과 동시에 제 스스로의 역량에 부족함을 많이 느끼게 되는 계기가 되었습니다. 기획부터 출시까지의 경험을 회고하며 부족했던 점들을 개선하고자 이 글을 작성하...

Mac에서 Jekyll Livereload 동작하지 않는 문제

맥북에 세팅해둔 Github pages Jekyll blog의 Livereload 기능이 동작하지 않는 문제가 발생했다. 도대체 왜? 물론 만들어놓고 반 년 동안 방치하긴 했지만, 이런 오류가 발생할 만한 수정 또한 하지 않았다. 더욱이 짜증나는 것은 Jekyll은 Ruby 언어로 구동되는데 난 Ruby에 대해 전혀 모른다. 그래서 이 오류를 어떻...

환경에 맞는 gitignore 만들어주는 사이트

git remote repository에 불필요한 파일들이 업로드되지 않도록 gitignore 파일을 잘 활용할 필요가 있다. 실제로 최근 프로젝트를 진행하면서 github 저장소에 올라가서는 안되는 보안성 파일들이나 굳이 올라갈 필요가 없는 파일들이 Staging되는 부분이 굉장히 거슬렸다. 마침 운영체제나 IDE, 사용하는 언어에 맞게 giti...

[iOS] View에 Custom State를 만들어보자

UIControl.State UIKit에는 UIControl 를 상속 받는 뷰들에게 기본적인 State를 제공한다. 바로 UIControl.State 라는 열거형이다. 이미 알게 모르게 많이들 써왔을 것이다. UIControl.State | Apple Developer Documentation 자 어쨌든 기본적으로 제공되는 이 State에는 ...

[Swift] Method Swizzling 이해하기

Method Swizzling 의 개념에 대해 알아보자 (사실 Method Swizzling에 대해 정말 잘 설명한 여러 블로그들을 볼 수 있는데 다른 블로그 글을 읽는 것보다 직접 학습하고 정리해보는게 낫다. 즉, 다른 블로그 보시는게 이해에는 더 빠를 수 있음~) Swizzle: 뒤섞다 라는 의미를 가지고 있음. 메서드를 뒤섞다? 좀 ...

[Swift] Static 메서드와 Class 메서드의 차이

메서드는 타입 메서드(Type Method), 인스턴스 메서드(Instance Method)로 나뉜다. 이 중에서 메서드의 구현 부 앞에 static , class 키워드가 붙는 경우는 타입 메서드에 속한다. 타입 메서드란 클래스나 구조체의 타입에 참조해서 사용할 수 있는 메서드를 말한다. class Dog { static func bite(...

[Swift] Class Singleton과 Struct Singleton의 차이

Class와 Struct에 Singleton pattern을 구현하였을 때 어떤 차이점이 있는지 실험해보자. 본문을 제대로 이해하려면 Reference Type, Value Type에 대한 이해가 동반되어야 한다. 실험 조건: 구조체와 클래스를 동일한 구조로 작성한다. 싱글톤 인스턴스를 변수1, 변수2에 담는다. 변수1의 프로퍼티 값...

[Swift PS] BOJ 1655번 가운데를 말해요 [풀이 실패]

오랜만에 알고리즘 문제를 풀어보기로 결심했다. 예전에는 BOJ 사이트에서 문제를 주로 풀었었는데 알고리즘 분류 카테고리를 통해 문제가 어떤 유형인지 미리 알고 풀었었다. 이 방법은 기업 코딩 테스트를 대비한다면 절대 지양해야한다. 기업 코테에서는 문제 유형을 알려주지 않는다. 즉, 이 수능 비문학 문제들이 연상되는 지문들을 읽고 어떤 알고리즘 기법으...

Bounds와 Frame의 차이에 대해 알아보자

UIKit의 여러 뷰들을 다루다 보면 Bounds와 Frame이란 속성에 대해 흔하게 접할 수 있다. 오늘은 Bounds와 Frame이 각각 어떤 역할을 하는 프로퍼티인지 정확히 알아보자. Frame과 Bounds은 둘 다 UIView의 인스턴스 프로퍼티임. 코드를 확인해보니 둘 다 타입이 CGRect 로 동일하다. (CGRect에 대한 개념은...