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








댓글 없음:

댓글 쓰기

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

제 AI는 스스로 생각하고 학습한다.. 난리난 AI 에이전트 직접 확인해보니 - 영상정리해 봅니다.

  ChatGPT가 나온지 3년이 넘었습니다. ㅎㅎ 처음에는 생성형AI에서 LLM으로 시장이 변화되었습니다. 작년말부터는 에이전트의 시대라고 하고 있습니다. 저도 관련 강의를 하고 일을 하고 있지만 따라가기가 벅찰정도로 매주 새로운 소식들이 올라옵니다...