티스토리 뷰
swift도 마찬가지이지만, kotlin에도 optional 이 존재합니다.
아... 적고 보니깐 말을 거꾸로 적었네요. swift가 kotlin의 이 개념을 가져간겁니다.
일단 swift를 예를 들어보겠습니다.
아직 swift에 익숙하지 않은 분들은 어쩔수 없네요...
크게 두가지 방법 정도가 있을것 같습니다.
첫번째 방법입니다. if let을 이용합니다.
1 2 3 4 5 | if let unwrapping = wrapping { // unwrapping is unwrapping } // unwrapping can be accessed outside guard block | cs |
두번째 방법입니다. guard를 이용합니다. 저는 솔찍히 이 방법을 더 좋아합니다.
1 2 3 | guard let unwrapping = wrapping else { return } // unwrapping is unwrapping | cs |
안정하게 optional variable을 사용하는 방법일텐데요...
! ← 이런거 굉장히 좋지 않습니다. ^^ 정말 nil 이 아닐때만 사용합시다.
자 그렇다면 kotlin에서는 어떻게 이용할수 있을까요.
일단 툴에서 어느 정도 if (wrapping != null) 정도로 스마트하게 처리를 해줍니다.
하지만 약간 다른 방법으로 사용할수 있는데요.. 다음과 같습니다. 뭔가 좀 있어 보이죠...
guard와도 비슷하고요.
1 2 3 | val unwrapping = wrapping?.let { it } ?: return // unwrapping is unwrapping | cs |
위에도 글을 적었지만 if 문 안에 구문을 적는 방법은 tab을 한번 더 들어가게 만들어서 코드의 가독성을 높이지 못하는것 같아서 저는 위의 방법과 같이 사용합니다.
그럼 즐거운 코딩 되세요.
'Mobile > Android' 카테고리의 다른 글
Android WebView control 하기 (2/3) - WebChromeClient (0) | 2018.03.02 |
---|---|
Android WebView control 하기 (1/3) - WebViewClient (0) | 2018.02.26 |
AndroidStudio gradle로 자동 버전 관리? (0) | 2018.02.19 |
proguard 설정에서 패키지 아래 파일들 다 keep 하기 (0) | 2018.01.28 |
gradle 설정하여주어 서로 다른 서버 apk 만들기. aka test, real (0) | 2018.01.28 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- php
- Gradle
- SWIFT
- war
- Windows
- git
- windows10
- nodejs
- go
- Java
- tomcat
- Python
- ios
- Xcode
- enum
- android
- ubuntu
- docker
- MySQL
- Spring
- Kotlin
- centos8
- Codable
- intellij
- cocoapods
- Linux
- github
- CentOS
- golang
- rxswift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함