swift ?? operation

Posted by Start Bootstrap on September 24, 2017

swift, ??


1. 왜.

  • swift 문서를 보다 ?? operation을 보게되었다.



2. 그래서 무엇인가.

  • nil-coalescing(복합,합치다) operator 라고한다.
  • return을 unwrapped 데이타, 혹은 일반 데이터를 리턴한다.


3. 써보자.

a ?? b
  • 위 와같은 문법을 풀면 아래와같이된다.
a != nil ? a! : b 
  • a가 nil이 아니고 값이 있을 경우는 a 를 unwrapping해서 값을 내놓아라 , 값이 없다면 b를 내놓아라.

  • 즉 b가 default값 같은 것이 되는것이다.

let dict: [String:Int] = ["key":4]
let foo: Int? = dict["key"] as? Int ?? 0
  • 위와 같은 형태로 사용될 수있다. dict key가 존재하면 해당 값을 리턴하고, 그렇지 key가 존재하지않으면 0 을 리턴해라.


REF.

  1. stackoverFlow