์ƒ์„ธ ์ปจํ…์ธ 

๋ณธ๋ฌธ ์ œ๋ชฉ

[Swift] Type Aliases(ํƒ€์ž… ๋ณ„์นญ)

๐ŸŽ iOS/Swift

by AHN.Jihyeon 2024. 11. 25. 02:10

๋ณธ๋ฌธ

 

 

 

 

๐Ÿ”Ž  1 . TypeAliases (ํƒ€์ž… ๋ณ„์นญ)


 

TypeAliases๋Š” ์ด๋ฏธ ์กด์žฌํ•˜๋Š” ํƒ€์ž…(ํด๋ž˜์Šค, ๊ตฌ์กฐ์ฒด, ์—ด๊ฑฐํ˜•, ํ•จ์ˆ˜, ํŠœํ”Œ ๋“ฑ)์„ ๋‹ค๋ฅธ ์ด๋ฆ„์œผ๋กœ ์ •์˜ํ•œ๋‹ค

์ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ณ , ํŠน์ • ํƒ€์ž…์˜ ์˜๋ฏธ๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค.

typealias ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •์˜ํ•œ๋‹ค. 

 

 

 

๐Ÿ”Ž  2. ๊ธฐ๋ณธ ๋ฌธ๋ฒ•


 

 

 

 

๐Ÿ”Ž  3. ์‚ฌ์šฉ ์˜ˆ์‹œ


1. ๊ฐ€๋…์„ฑ ํ–ฅ์ƒ

์ฝ”๋“œ์—์„œ ํƒ€์ž…์˜ ์ด๋ฆ„์ด ๊ธธ๊ฑฐ๋‚˜ ๋ณต์žกํ•  ๋•Œ 

    typealias Point = (x: Int, y: Int)
    
    let orign: Point = (x: 0, y: 0)

 

 

2. ๋ณต์žกํ•œ ํƒ€์ž… ๋‹จ์ˆœํ™”

์ œ๋„ค๋ฆญ ํƒ€์ž…์ด๋‚˜ ํ•จ์ˆ˜ ํƒ€์ž…๊ณผ ๊ฐ™์ด ๋ณต์žกํ•œ ํƒ€์ž…์„ ๊ฐ„๋‹จํ•œ ์ด๋ฆ„์œผ๋กœ ์ •์˜ํ•˜์—ฌ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉ

typealias StringDictionary = [String: String]
typealias CompletionHandler = (Bool, Error?) -> Void

func fetchData(completion: CompletionHandler) {
    // ...
}

 

 

3. ํŠน์ • ์‚ฌ์šฉ ๋ชฉ์ ์— ๋”ฐ๋ผ ์˜๋ฏธ ๋ถ€์—ฌ

ํŠน์ • ํƒ€์ž…์— ๋Œ€ํ•ด ์‚ฌ์šฉ ๋ชฉ์ ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

    typealias Meter = Double
    typealias Kilogram = Double
    
    let distance: Meter = 120.5
    let weight: Kilogram = 70.3

 

 

4. ์ œ๋„ค๋ฆญ ํƒ€์ž… ์ถ•์•ฝ

์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š” ํƒ€์ž…์— ๋Œ€ํ•ด ๋” ์งง์€ ์ด๋ฆ„์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Œ

typealias StringResult = Result<String, Error>
        
func perforTask() -> StringResult {
	return .success("์„ฑ๊ณต!!")
}



typealias JSON = [String: Any]
typealias NetworkCompletion = (JSON?, Error?) -> Void

func fetchAPI(endpoint: String, completion: NetworkCompletion) {
    // API ํ˜ธ์ถœ ์ฒ˜๋ฆฌ
}

 

 

 

 

 

 

 

๊ด€๋ จ๊ธ€ ๋”๋ณด๊ธฐ