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








댓글 없음:

댓글 쓰기

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

요즘 새로운 과정을 기획하면서 react.js + next.js를 OpenAI API와 같이 사용하는 과정을 만들고 있습니다. ㅎㅎ

 오랜만에 웹 기술들을 공부하니 재미있네요. ㅎㅎ  쭉 파이썬 과정들을 운영하고 있었는데 좀 더 범위를 넓혀서 아이폰 앱 개발과정 with ChatGPT,  웹 프로그래밍 with ChatGPT, AI시대의 AI어시스턴트 활용하기와 같은 글을 쓰고, ...