String을 열지않고 null 판정하기

2016-12-19
8 Views

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

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

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

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

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

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

사용방법은 아래와 같다.

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

 

Facebook Comments

You may be interested

Xcode 기능 확장(Extension) 제거하기
Xcode
shares3 views
Xcode
shares3 views

Xcode 기능 확장(Extension) 제거하기

MJ Kim - 3월 18, 2017

Mac에서 Xcode Source Editor Extension등의 기능확장을 사용하다보면 디버깅시 시스템 환경 설정의 확장이 앱에 등록되는 경우가 있다. 계속해서 목록이 남아 있기…

iOS App Store Review(앱 심사약관) 번역
Swift 3.0
shares115 views
Swift 3.0
shares115 views

iOS App Store Review(앱 심사약관) 번역

MJ Kim - 3월 15, 2017

App Store Review를 번역했다. 사실 이번에 좀 애매한 리젝을 당해서 그걸 이해하고자 정리해본다. 원문링크: https://developer.apple.com/app-store/review/guidelines/ 1. 이약관은? 1.1 앱 개발자로서 프로그램의…

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi
IoT by Raspberry Pi
shares9 views
IoT by Raspberry Pi
shares9 views

Raspberry Pi 타이머 On/Off 전원제어모듈 RPi1114-Raspberry Pi

MJ Kim - 3월 04, 2017

RPi1114-Raspberry Pi전원제어 모듈이 있다. 이 제품은 40Pin GPIO핀헤더에 연결하여 사용하는 모듈로 Cortax-M0마이크로컨트롤러 LPC1114를 내장하고 Raspberry Pi의 시작과 정지 순서등을 프로그래밍할…