// Playground - noun: a place where people can play
import UIKit
//swift에서 nil값을 가질 수 있는 참조 형식과 값 형식을 옵셔널 형식이라고 한다.
//swift에서 Int?와 Int는 서로 다른 형식이다. 일반 형식과 옵셔널 형식을
//엄격하게 구분한다.
var optionalNum:Int? = nil
var str:String? = "hello"
str = nil
str = "new value"
str = nil
//Forced Unwrapping
//swift의 참조형식과 값형식은 항상 유효한 값을 가지기 때문에 값의 존재여부를 별도로
//확인하지 않고 사용한다.
//그러나 옵셔널 형식은 반드시 if문을 통해 값의 존재여부를 확인한 후 사용해야 한다.
//여기서 사용된 !는 강제추출 연산자라고 부른다.
var userName:String? = "전우치"
if userName != nil {
println("USER: \(userName!)")
}
//옵셔널 형식의 유효성을 확인하고 값을 추출하는 작업이 반복되는 경우에는 불필요한 코드의
//양이 늘어나고 지루한 작업이 될 수 있다.
//옵셔널 형식이 항상 유호한 값을 가지는 경우에는 자료형 뒤에 물음표(?) 대신 느낌표(!)
//를 붙여서 암시적으로 추출되는 옵셔널 형식(Implicitly Unwrapped Options)으로
//선언할 수 있다.
//암시적으로 추출한다고 선언됟어 있어서 추출할 때 !를 붙이지 않아도 된다.
var userName2:String! = "박문수"
println("USER: \(userName)")
func getUserName() -> String {
return "홍길동"
}
댓글 없음:
댓글 쓰기
참고: 블로그의 회원만 댓글을 작성할 수 있습니다.