2021. 1. 7. 19:16γπ§π»π» iOS κ°λ°/Swift
ν΄λΉ κΈμ μΌκ³°λμ μ€μννΈ κ°μμ κ°μΈμ μΈ κ³΅λΆλ₯Ό μ 리ν κΈμ λλ€.
λ²μ¨ 2021λ μ΄ λκ³ λμ μΌμ£ΌμΌμ΄λΌλ μκ°μ΄ νλ μ΅λλ€. λ€λ€ ν¬λ§μ°¬ ν루 ν루λ₯Ό 보λ΄κ³ κ³μ κ°μ? λμ΄ λ§μ΄ μλλ° κ°κΈ° μ‘°μ¬νμκ³ λ―Έλλ¬μ΄ κΈΈ μ‘°μ¬νμκΈΈ λ°λλλ€.
Swiftμλ λ§μ μμ λ°μ΄ν°λ₯Ό λ¬Άμ΄μ μ μ₯νκ³ κ΄λ¦¬ν μ μλ 컬λ μ νμ μ μ 곡ν©λλ€. 컬λ μ νμ μλ Array (λ°°μ΄), Dictionary (λμ λ리), Set (μΈνΈ)κ° μ‘΄μ¬ν©λλ€.
μ λ² ν¬μ€ν μμ 컬λ μ νμ μΈ Arrayλ₯Ό λ€λ€λ€λ©΄ μ΄λ²μλ Dictionaryμ λν΄μ μμλ³΄κ² μ΅λλ€.
1. Dictionary μ νΉμ§
λμ λ리λ μμλ€μ΄ μμ μμ΄ ν€(Key) μ κ°(Value)μ μμΌλ‘ ꡬμ±λλ μλ£κ΅¬μ‘°μ λλ€. μ΄ λμ λ리 μμλ κ°μ μ΄λ¦μ κ°μ§ ν€κ° μ‘΄μ¬νμ§ μμ΅λλ€. μ¦, λμ λ리μμ ν€λ κ°μ λλ³νλ μ μΌν μλ³μκ° λ©λλ€. κ° κ°μ ν€λ‘ μ κ·Όμ΄ κ°λ₯νλ©° λμ λ리 λ΄λΆμ μ‘΄μ¬νμ§ μλ ν€λ‘ μ κ·Όνκ² λλ©΄ nil κ°μ λ°νν©λλ€.
var someDictionary: Dictionary<String, Int> = Dictionary<String, Int>()
var anotherDictionary: [String: Int] = [String: Int]()
print(anotherDictionary["extramilejin"]) // λμ
λ리 λ΄λΆμ ν€κ° μ‘΄μ¬νμ§ μμ κ²½μ° nil λ°ν
someDictionary["Sung-Ho"] = 1 // ν€λ‘ κ°μ μΆκ°
print(someDictionary["Sung-Ho"]) // ν€λ‘ κ°μ μ κ·Ό
2. Dictionary νμ μ μ μΈ
var [λμ
λ리 μ΄λ¦]: Dictionary<ν€ νμ
, κ° νμ
> = Dictionary<ν€ νμ
, κ° νμ
>() μ κΈ°λ³Έ ννλ₯Ό κ°μ§λλ€. Arrayμ λ§μ°¬κ°μ§λ‘ Swift μμλ λμ
λ리 μ μΈμ λ€μν λμΌννμ νλ½ν©λλ€. λκ΄νΈ([ ])μμ ν€μ κ°μ μλ€μ λ£μ΄ λ°λ‘ μ΄κΈ°νλ κ°λ₯ν©λλ€.
// Dictionary μ μΈ
var anyDictionary: Dictionary<String, Int> = [String: Int]()
// λμΌ νν
// var anyDictionary: Dictionary<String, Any> = Dictionary<String, Any>()
// var anyDictionary: Dictionary<String, Any> = [:]
// var anyDictionary: [String: Any] = Dictionary<String, Any>()
// var anyDictionary: [String: Any] = [String: Any]()
// var anyDictionary: [String: Any] = [:]
// var anyDictionary = [String: Any]()
// μ΄κΈ°ν
// var anyDictionary: [String: Int] = ["extramilejin": 28, "korea": 2021]
3. Dictionary νμ μ νλ‘νΌν°μ λ©μλ
- isEmpty : λΉμ΄μλ λμ
λ리μΈμ§ μλμ§ Bool νμ
μ λ°νν©λλ€.
- count : λμ
λ리μ λͺ κ°μ μμκ° μλμ§ μ μ μμ΅λλ€.
- removeValue(forKey: ) : Keyμ ν΄λΉνλ κ°μ μ°Ύμ μ κ±°νκ³ κ·Έ κ°μ λ°νν©λλ€. λ§μ½ λμ
λ리 μμ ν€μ ν΄λΉνλ κ°μ΄ μλ€λ©΄ nilμ λ°ν ν©λλ€. μ΄ κ²½μ° κΈ°λ³Έκ°μ λλ €μ£Όλλ‘ ν μλ μμ΅λλ€.
- λμ
λ리μ΄λ¦ [ ν€ ] = κ° : λμ
λ리μ ν€ μ κ°μ μμ μΆκ°ν©λλ€.
- λμ λ리μ΄λ¦ [ ν€ ] = nil : λμ λ리μμ ν€μ ν΄λΉνλ κ°μ nilλ‘ ν λΉνμ¬ μ κ±°ν©λλ€.
// Properties , method
var intDictionary: [String: Int] = ["extramilejin": 28, "korea": 2021]
print(intDictionary.isEmpty) // false
print(intDictionary.count) // 2
print(intDictionary.removeValue(forKey: "korea")) // Optional(2021)
print(intDictionary.count) // 1
print(intDictionary.removeValue(forKey: "korea")) // nil: κ°μ΄ μμμ λ»νλ€.
print(intDictionary["korea", default: 0]) // 0: κ°μ΄ μμΌλ©΄ κΈ°λ³Έκ° 0
5. λ§λ¬΄λ¦¬
λ€μ ν¬μ€ν μμ λλ¨Έμ§ μ»¬λ μ νμ μΈ Setμ λ€λ€λ³΄κ² μ΅λλ€! λΆμ‘±ν λΆλΆμ΄λ κΆκΈν μ λκΈ λΆνλ립λλ€ ^^