2014년 12월 22일 월요일

애플의 새로운 개발언어 Swift - 옵셔널 #4

// 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 "홍길동"
}








댓글 없음:

댓글 쓰기

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.

아이폰 듀오에 대응하는 데모 #2

폴더블·듀얼 화면 iPhone Duo를 대상으로, SwiftUI 수업에서 순서대로 사용할 수 있는 데모 10개를 구성했습니다. 각 데모는 학습 목표 → 코드 → 단계별 설명 → 확인 과제 순서입니다. Apple 공식 안내에 따르면 Duo의 전체 화면...