[Swift] Swift에서 정규표현식 사용하기 저는 지금까지 텍스트 필드 위에 입력되는 사용자의 입력이나 텍스트 덩어리에서 원하는 패턴의 값을 뽑아내거나 검증을 할 때 항상 모든 경우에 대해 if-else 와 같은 조건문을 이용하였습니다. 하지만 이렇게 조건문으로 모든 것을 해결하려하니 코드의 가독성, 효율성이 떨어질 뿐만 아니라 시간도 꽤나 소모되는 경우가 허다했습니다. 그러던 와중 매번 나랑은 관계없다고 생각한 정규표현식을 사용하고 느낀 편리함을 기록해보고자 이렇게 글을 작성하게 되었습니다. 그럼 바로 시작해보도록 하겠습니다. NSRegularExpression 먼저 Swift에서 정규표현식을 사용하여 패턴을 검증하기 위해선 NSRegularExpression을 사용해야 합니다. 앞에 NS-가 붙어..
[ios] Xcode에서 Unit Test를 해보다 안녕하세요. 오늘은 프로그래밍 공부를 시작하면서 처음으로 테스팅이라는 것을 해본 경험을 기록해보고자 이렇게 글을 작성하게 되었습니다. 사실 TDD, 유닛 테스트 등 여러 테스팅에 관련된 이야기를 들어만 봤을 뿐 이것을 해볼 시도도 하지 않았고 그렇게 중요하게 생각도 하지 않았습니다. 하지만 Let us: Go! 2018 밋업에서도 주제로 언급이 되었었고 연사분께서 하신 말씀 중 새로운 것을 두려워하고, 낯선 것을 두려워하기 때문에 TDD를 팀에 도입하기 힘들다는 말씀에 저 스스로 너무나 부끄러웠습니다. 하지만 다행히 저또한 해볼 수 있는 기회가 생겨서 굉장히 초보적이고 거창한 테스팅 코드는 아니지만 이를 통해 나름 뿌듯한 경험을 하게 되어 이렇게 글까지..
[Swift] 프로토콜과 제네릭 그리고 열거형 Swift를 활용한 프로그램 설계 규칙에 있어서 메소드 인터페이스가 동일하면 프로토콜을 활용하고 로직은 동일하나 타입만 다르다면 제네릭을 활용하는 것이 좋은 설계 규칙 중 하나로 뽑힙니다. 오늘은 프로토콜(Protocol)과 제네릭(Generics)을 같이 사용해보고 이를 통해 배운점을 기록해보고자 합니다. 다음은 프로토콜에 관해 제가 작성한 포스팅들입니다. Protocol [1] Protocol [2] 다음은 제네릭을 사용해 iOS에서 코드를 줄여본 경험을 작성한 포스팅입니다. [ios] 제네릭을 이용해 코드 중복 제거하기 프로토콜과 제너릭에 대한 기본적인 지식이 필요로 하는 포스팅입니다. 프로토콜(Protocol) 과 제네릭(Generics) 인터페이스가..
[ios] UIViewController LifeCycle - 추가 안녕하세요. 오늘은 다시 기본으로 돌아가 개념을 확실히 다잡기 위해 이전에 다루었 UIViewController LifeCycle 글에 내용을 조금 더 추가해보았습니다. 기존의 글에서는 단순히 UIViewController의 Life Cycle 관련 메소드들을 소개하는 수준이었습니다. 오늘은 UINavigationController 위에서 UIViewController들을 호출해가며 실제로 서로 다른 UIViewController들의 메소드들이 어떠한 순서로 호출되는지 살펴보도록 하겠습니다. 먼저 UINavigationController는 루트 뷰 컨트롤러를 하나 갖고 있습니다. UINavigationController에서 뷰 컨트롤러들..
[Swift] Functor and Monad in Swift Swift의 Monad를 소개하기 위해 작성된 포스팅으로 Monad를 단독으로 다루는 것보다 Functor와 함께 이야기하는 것이 이해에 도움이 된다고 생각하여 Functor와 Monad를 이해하기 위한 몇몇 개념과 함께 이들을 알아보도록 하겠습니다. Context 컨텍스트(Context)와 컨텐트(Content)의 관계는 다음과 같습니다.컨텍스트는 컨텐트를 담고있는 형태로 옵셔널(Optional)을 예로 들면 Optional(2)에서 Optional은 컨텍스트가 2 는 컨텐트가 됩니다. 만일 옵셔널안에 값이 존재하지 않는다면 컨텍스트만 존재하는 꼴이 되겠죠. 이렇게 컨텍스트는 무언가를 담고있는 것을 의미합니다. 이렇게 무엇을 담고있다는 의미..
Handling UIKit Gestures Gesture recognizer를 사용하는 것은 뷰에서 발생하는 Touch나 Press 이벤트를 다룰수 있는 가장 간단한 방법입니다. 어떤 뷰든간에 한 개 혹은 복수 개의 Gesture에 대한 recognizer를 붙일 수 있습니다. Gesture recognizer는 뷰 위에서 발생하는 일련의 패턴이 존재하는 이벤트들 ( Double-Tap, Swipe, Pinch 등등 )을 처리하기 위해 Target-Action 패턴을 사용하고 이벤트가 발생하면 Target 객체에 이러한 사실을 전달하여 해당 이벤트를 처리할 수 있는 액션 메소드를 호출합니다. Gesture Recognizer에는 두 종류가 있습니다. 불연속 gesture recognizer 이벤트를 인식..
[ios] Responder Chain and Touch Event Overview 앱은 응답자 객체를 이용해 이벤트를 받고 처리합니다. 응답자 객체는 UIResponder 클래스의 객체로 서브클래스로는 UIView, UIViewController, UIApplication 등이 있습니다. 응답자 객체는 이벤트 데이터를 받고 반드시 이를 직접 처리하거나 다른 응답자 객체에게 전달해야 합니다. 이벤트가 발생하게 되면 앱은 해당 이벤트를 처리할 수 있는 가장 적절한 응답자 객체에게 이벤트 데이터를 전달하고 이를 first responder라 합니다. first responder가 이벤트를 반드시 처리하라는 법은 없죠! 이렇게 처리되지 않은 이벤트들은 first responder로부터 시작하는 Repsonde..
[ios] Hit Testing in iOS 안녕하세요. 오늘은 iOS에서 Event Handling에 대해 공부하면서 알게 된 내용을 정리해보려 합니다. 이전 포스팅에서는 UIControl에 대해 알아보았습니다. 오늘은 Hit Testing에 대해 기록해보도록 하겠습니다. Hit Testing 기본적으로 아이폰 화면상에서 터치가 일어나면 iOS에서는 해당 터치 이벤트를 적절히 처리해주어야 합니다. 이렇게 사용자로부터 특정 액션이 들어왔을 때 이를 처리해주는 녀석과 어떻게 처리해주는 방법을 지정해주는 것이 UIControl의 역할이었습니다. Hit Testing은 간단히 설명하자면 터치 이벤트가 발생한 뷰를 찾는 행위입니다. 조금 더 설명을 덧붙이자면 터치 이벤트가 발생한 최상단 뷰를 찾는 행위입니다. ..
- Total
- Today
- Yesterday
- Operating System
- UIControl
- boostcourse
- 스위프트
- Codable
- 오토레이아웃
- edwith
- 테이블뷰
- nodejs
- auto layout
- storyboard
- iPhone
- 클로저
- 아이폰
- UIResponder
- Xcode
- notificationcenter
- 프로토콜
- Algorithm
- oauth2.0
- 알고리즘
- TableView
- CRUD
- 백준
- Protocol
- 부스트코스
- IOS
- Swift
- segue
- 운영체제
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |