String을 열지않고 null 판정하기

2016-12-19
23 Views

항상 개발을 하다보면, 문자열의 빈값 판정은 어떤 언어든 이슈라고 생각된다. 이때 대부분은 null판정 후, 값이 비어져 있는지를 체크를 하지 않으면 안된다.

Swift언어의 경우 보통 형이 String이라면 아래와 같이 선언하게 된다.

단, String? 이라면 어떻게 해야할까?

위와 같이 처리하면 Force Unwrap이라고 오류가 나온다. 그런 경우 if let을 사용하여 처리할 수 있다.

그렇지만, 특정 프로세스에는 좋지만 그렇지 않으면 그렇게 추천하지 않는 방법이다. 그래서 아래와 같이 Optional의 Extension을 만들어보았다.

String 전용 프로토콜을 준비하고 제네릭형 인수(Wrapped)에 제약을 하고 있다는 것이다.이렇게 하면 String?에 대해서도 메소드를 허용할 수 있게 된다.

사용방법은 아래와 같다.

만약 함수 정의를 하지 않고 사용하고 싶다면 아래와 같다.

 

Facebook Comments

You may be interested

모바일 앱 아키텍처
Swift
shares11 views
Swift
shares11 views

모바일 앱 아키텍처

MJ Kim - 4월 22, 2017

이 내용은 나름대로 개발해본 내용을 토대로 정리해본 모바일 앱 아키텍처에 대한 내용이다. 이를 정리한 이유는 오래된 아키텍처부터 최근 아키텍처까지 정리해보고…

시간차를 얻는 Date Extension
Swift 3.0
shares6 views
Swift 3.0
shares6 views

시간차를 얻는 Date Extension

MJ Kim - 4월 12, 2017

사용자가 남길 내용에 대한 시간표시를 할 때 일정한 시간차를 표현해주는 경우가 있어 이에 대한 Date Extention을 정리해 보았다. [crayon-58fc02bc24f0f999659249/]  

Swift 3.1에서 없어진 문법 정리
Swift 3.0
shares34 views
Swift 3.0
shares34 views

Swift 3.1에서 없어진 문법 정리

MJ Kim - 3월 31, 2017

Swift언어는 무엇인가 나올때마다 없어지는 것들이 있어, Swift 3.1에서 컴파일할 수 없게 된 문법내용을 정리했다. switch문을 사용하여 enum에서 protocol을 여러가지 패턴으로…