SlideShare uma empresa Scribd logo
1 de 4
swift 0x14
nested types
문현진(arnold@css99.co.kr)
오늘은 뭘 바를까? 이번 신상은 뭘까? 궁금한 언니들은 구글 플레이에
서 “마메스"를 검색하세요.
중첩 타입?
구조체 안에 클래스 안에 열거형
중첩 타입?
struct BlackjackCard {
// nested Suit enumeration
enum Suit: Character {
case Spades = "♠", Hearts = "♡", Diamonds = "♢", Clubs = "♣"
}
// nested Rank enumeration
enum Rank: Int {
case Two = 2, Three, Four, Five, Six, Seven, Eight, Nine, Ten
case Jack, Queen, King, Ace
struct Values {
let first: Int, second: Int?
}
var values: Values {
switch self {
case .Ace:
return Values(first: 1, second: 11)
case .Jack, .Queen, .King:
return Values(first: 10, second: nil)
default:
return Values(first: self.toRaw(), second: nil)
}
}
}
중첩 타입 참조
let theAceOfSpades = BlackjackCard(rank: .Ace, suit: .Spades)
println("theAceOfSpades: (theAceOfSpades.description)")
// prints "theAceOfSpades: suit is ♠, value is 1 or 11
let heartsSymbol = BlackjackCard.Suit.Hearts.toRaw()
// heartsSymbol is "♡"

Mais conteúdo relacionado

Destaque

GR 2013 - Un sentier métropolitain de randonnée pédestre
GR 2013 - Un sentier métropolitain de randonnée pédestreGR 2013 - Un sentier métropolitain de randonnée pédestre
GR 2013 - Un sentier métropolitain de randonnée pédestreMarseille-Provence 2013
 
Bio data dprd kabupaten pakpak bharat masa jabatan 2009
Bio data dprd kabupaten pakpak bharat masa jabatan 2009Bio data dprd kabupaten pakpak bharat masa jabatan 2009
Bio data dprd kabupaten pakpak bharat masa jabatan 2009ppbkab
 
交點台大Vol.11 - 張育真- 網路媒體是否是門好生意
交點台大Vol.11 - 張育真- 網路媒體是否是門好生意交點台大Vol.11 - 張育真- 網路媒體是否是門好生意
交點台大Vol.11 - 張育真- 網路媒體是否是門好生意交點
 
GIẢI PHÁP NÂNG CAO NĂNG LỰC CẠNH TRANH CỦA GÂN HÀNG TMCP QUỐC TẾ VIỆT NAM TRO...
GIẢI PHÁP NÂNG CAO NĂNG LỰC CẠNH TRANH CỦA GÂN HÀNG TMCP QUỐC TẾ VIỆT NAM TRO...GIẢI PHÁP NÂNG CAO NĂNG LỰC CẠNH TRANH CỦA GÂN HÀNG TMCP QUỐC TẾ VIỆT NAM TRO...
GIẢI PHÁP NÂNG CAO NĂNG LỰC CẠNH TRANH CỦA GÂN HÀNG TMCP QUỐC TẾ VIỆT NAM TRO...vietlod.com
 
Arq Utal B2+Ejercicios 3
Arq Utal   B2+Ejercicios 3Arq Utal   B2+Ejercicios 3
Arq Utal B2+Ejercicios 3laraditzel
 
Swift 0x19 advanced operators
Swift 0x19 advanced operatorsSwift 0x19 advanced operators
Swift 0x19 advanced operatorsHyun Jin Moon
 
How to prepare jiwamrita ( hindi)
How to prepare jiwamrita ( hindi)How to prepare jiwamrita ( hindi)
How to prepare jiwamrita ( hindi)Sunil Jain
 
El nuevo amanecer del Administrador
El nuevo amanecer del AdministradorEl nuevo amanecer del Administrador
El nuevo amanecer del Administradorchanostr
 
Thema 1 les 4 - schoolmateriaal
Thema 1   les 4 - schoolmateriaalThema 1   les 4 - schoolmateriaal
Thema 1 les 4 - schoolmateriaalIve Hapers
 
Osc3.0 manual agensi
Osc3.0 manual agensiOsc3.0 manual agensi
Osc3.0 manual agensimdrompin
 
аварийная сантехническая служба
аварийная сантехническая службааварийная сантехническая служба
аварийная сантехническая службаIndigo911
 

Destaque (16)

La comunicación
La comunicaciónLa comunicación
La comunicación
 
GR 2013 - Un sentier métropolitain de randonnée pédestre
GR 2013 - Un sentier métropolitain de randonnée pédestreGR 2013 - Un sentier métropolitain de randonnée pédestre
GR 2013 - Un sentier métropolitain de randonnée pédestre
 
Bio data dprd kabupaten pakpak bharat masa jabatan 2009
Bio data dprd kabupaten pakpak bharat masa jabatan 2009Bio data dprd kabupaten pakpak bharat masa jabatan 2009
Bio data dprd kabupaten pakpak bharat masa jabatan 2009
 
交點台大Vol.11 - 張育真- 網路媒體是否是門好生意
交點台大Vol.11 - 張育真- 網路媒體是否是門好生意交點台大Vol.11 - 張育真- 網路媒體是否是門好生意
交點台大Vol.11 - 張育真- 網路媒體是否是門好生意
 
GIẢI PHÁP NÂNG CAO NĂNG LỰC CẠNH TRANH CỦA GÂN HÀNG TMCP QUỐC TẾ VIỆT NAM TRO...
GIẢI PHÁP NÂNG CAO NĂNG LỰC CẠNH TRANH CỦA GÂN HÀNG TMCP QUỐC TẾ VIỆT NAM TRO...GIẢI PHÁP NÂNG CAO NĂNG LỰC CẠNH TRANH CỦA GÂN HÀNG TMCP QUỐC TẾ VIỆT NAM TRO...
GIẢI PHÁP NÂNG CAO NĂNG LỰC CẠNH TRANH CỦA GÂN HÀNG TMCP QUỐC TẾ VIỆT NAM TRO...
 
Arq Utal B2+Ejercicios 3
Arq Utal   B2+Ejercicios 3Arq Utal   B2+Ejercicios 3
Arq Utal B2+Ejercicios 3
 
Swift 0x19 advanced operators
Swift 0x19 advanced operatorsSwift 0x19 advanced operators
Swift 0x19 advanced operators
 
How to prepare jiwamrita ( hindi)
How to prepare jiwamrita ( hindi)How to prepare jiwamrita ( hindi)
How to prepare jiwamrita ( hindi)
 
El nuevo amanecer del Administrador
El nuevo amanecer del AdministradorEl nuevo amanecer del Administrador
El nuevo amanecer del Administrador
 
Sposoby przedstawiania algorytmu
Sposoby przedstawiania algorytmuSposoby przedstawiania algorytmu
Sposoby przedstawiania algorytmu
 
Aline ativ5
Aline ativ5Aline ativ5
Aline ativ5
 
Thema 1 les 4 - schoolmateriaal
Thema 1   les 4 - schoolmateriaalThema 1   les 4 - schoolmateriaal
Thema 1 les 4 - schoolmateriaal
 
SourcePoint
SourcePointSourcePoint
SourcePoint
 
Osc3.0 manual agensi
Osc3.0 manual agensiOsc3.0 manual agensi
Osc3.0 manual agensi
 
аварийная сантехническая служба
аварийная сантехническая службааварийная сантехническая служба
аварийная сантехническая служба
 
Proyecto 2° parte
Proyecto 2° parteProyecto 2° parte
Proyecto 2° parte
 

Mais de Hyun Jin Moon

Swift 0x18 access control
Swift 0x18 access controlSwift 0x18 access control
Swift 0x18 access controlHyun Jin Moon
 
Swift 0x12 optional chaining
Swift 0x12 optional chainingSwift 0x12 optional chaining
Swift 0x12 optional chainingHyun Jin Moon
 
Swift 0x0e 초기화
Swift 0x0e 초기화Swift 0x0e 초기화
Swift 0x0e 초기화Hyun Jin Moon
 
Swift 0x0c 서브스크립트
Swift 0x0c 서브스크립트Swift 0x0c 서브스크립트
Swift 0x0c 서브스크립트Hyun Jin Moon
 
Swift 0x02 기본 연산자
Swift 0x02   기본 연산자Swift 0x02   기본 연산자
Swift 0x02 기본 연산자Hyun Jin Moon
 
Swift 0x01 환경 설정
Swift 0x01   환경 설정Swift 0x01   환경 설정
Swift 0x01 환경 설정Hyun Jin Moon
 
Shell, merge, heap sort
Shell, merge, heap sortShell, merge, heap sort
Shell, merge, heap sortHyun Jin Moon
 
Programming challange crypt_kicker
Programming challange crypt_kickerProgramming challange crypt_kicker
Programming challange crypt_kickerHyun Jin Moon
 
Node.js Cloud Service Publish
Node.js Cloud Service PublishNode.js Cloud Service Publish
Node.js Cloud Service PublishHyun Jin Moon
 

Mais de Hyun Jin Moon (13)

Swift 0x18 access control
Swift 0x18 access controlSwift 0x18 access control
Swift 0x18 access control
 
Swift 0x17 generics
Swift 0x17 genericsSwift 0x17 generics
Swift 0x17 generics
 
Swift 0x12 optional chaining
Swift 0x12 optional chainingSwift 0x12 optional chaining
Swift 0x12 optional chaining
 
Swift 0x0e 초기화
Swift 0x0e 초기화Swift 0x0e 초기화
Swift 0x0e 초기화
 
Swift 0x0d 상속
Swift 0x0d 상속Swift 0x0d 상속
Swift 0x0d 상속
 
Swift 0x0c 서브스크립트
Swift 0x0c 서브스크립트Swift 0x0c 서브스크립트
Swift 0x0c 서브스크립트
 
Swift 0x02 기본 연산자
Swift 0x02   기본 연산자Swift 0x02   기본 연산자
Swift 0x02 기본 연산자
 
Swift 0x01 환경 설정
Swift 0x01   환경 설정Swift 0x01   환경 설정
Swift 0x01 환경 설정
 
Quick, Tree sort
Quick, Tree sortQuick, Tree sort
Quick, Tree sort
 
Shell, merge, heap sort
Shell, merge, heap sortShell, merge, heap sort
Shell, merge, heap sort
 
Djang Beginning 2
Djang Beginning 2Djang Beginning 2
Djang Beginning 2
 
Programming challange crypt_kicker
Programming challange crypt_kickerProgramming challange crypt_kicker
Programming challange crypt_kicker
 
Node.js Cloud Service Publish
Node.js Cloud Service PublishNode.js Cloud Service Publish
Node.js Cloud Service Publish
 

Último

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화JMP Korea
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?Jay Park
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP Korea
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP Korea
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP Korea
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석JMP Korea
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP Korea
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법JMP Korea
 

Último (8)

공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 

Swift 0x14 nested types

  • 1. swift 0x14 nested types 문현진(arnold@css99.co.kr) 오늘은 뭘 바를까? 이번 신상은 뭘까? 궁금한 언니들은 구글 플레이에 서 “마메스"를 검색하세요.
  • 2. 중첩 타입? 구조체 안에 클래스 안에 열거형
  • 3. 중첩 타입? struct BlackjackCard { // nested Suit enumeration enum Suit: Character { case Spades = "♠", Hearts = "♡", Diamonds = "♢", Clubs = "♣" } // nested Rank enumeration enum Rank: Int { case Two = 2, Three, Four, Five, Six, Seven, Eight, Nine, Ten case Jack, Queen, King, Ace struct Values { let first: Int, second: Int? } var values: Values { switch self { case .Ace: return Values(first: 1, second: 11) case .Jack, .Queen, .King: return Values(first: 10, second: nil) default: return Values(first: self.toRaw(), second: nil) } } }
  • 4. 중첩 타입 참조 let theAceOfSpades = BlackjackCard(rank: .Ace, suit: .Spades) println("theAceOfSpades: (theAceOfSpades.description)") // prints "theAceOfSpades: suit is ♠, value is 1 or 11 let heartsSymbol = BlackjackCard.Suit.Hearts.toRaw() // heartsSymbol is "♡"

Notas do Editor

  1. 이 구조체는 커스텀 이니셜 라이저가 없으므로, 멤버단위의 이미셜라이저를 가지고 있습니다.
  2. 이 구조체는 커스텀 이니셜 라이저가 없으므로, 멤버단위의 이미셜라이저를 가지고 있습니다.