λͺ©λ‘π±π iOS/π Swift (15)
Bibi's DevLog π€π
Rounding a double value to x number of decimal places in swift μμμ nμ§Έ μ리κΉμ§ μΆλ ₯νκΈ° 1. round() νμ© let x = 1.23556789 let y = Double(round(1000 * x) / 1000) print(y) /// 1.236 μλ₯Ό λ€μ΄ μμμ 3μ§Έμ리κΉμ§ μΆλ ₯ν΄μΌ νλ€λ©΄, μλ κ°μ 1000μ κ³±νλ€ λ°μ¬λ¦Ό μ²λ¦¬νλ€ λ€μ 1000μΌλ‘ λλλ€ μ΄λ κ² λ³νν μ μλ€. μμ£Ό μ¬μ©νλ€λ©΄ μ΅μ€ν μ μΌλ‘λ μ¬μ© κ°λ₯ extension Double { /// Rounds the double to decimal places value func rounded(toPlaces places:Int) -> Double { let divisor =..
Apple Developer Documentation ===(::) λ μ°Έμ‘°κ° λμΌν μΈμ€ν΄μ€ κ°μ²΄λ₯Ό κ°λ¦¬ν€λμ§λ₯Ό λνλ΄λ Booleanκ°μ λ°νν©λλ€. func === (lhs: AnyObject?, rhs: AnyObject?) -> Bool lhs , rhs : λΉκ΅ν μ°Έμ‘° μ€λͺ μ΄ μ°μ°μλ λ μΈμ€ν΄μ€κ° κ°μ κ°μ΄ μλλΌ, κ°μ κ³ μ μ±(identity)μ κ°μ§κ³ μλμ§λ₯Ό νμΈν©λλ€. κ°μ λμΌμ±μ μν΄μλ, == μ°μ°μμ Equatable νλ‘ν μ½μ νμΈνμμμ€. μλ μμλ μ μν νμ μ μ°Έμ‘° μλ―Έκ° μλ IntegerRef λΌλ νμ μ μ μν©λλ€. class IntegerRef: Equatable { let value: Int init(_ value: Int) { self.value = val..
Identity λμΌμ± λ§ κ·Έλλ‘ λμΌν¨μ μλ―Έ. λ κ°μ²΄κ° μμ ν κ°λ€. “λμΌνλ€” = ν΄λμ€μ μΈμ€ν΄μ€κ° λ©λͺ¨λ¦¬μμ μλ λμΌν κ°μ²΄λ₯Ό κ°λ¦¬ν€κ³ μλ€. μ¦ μ£Όμκ°μ΄ κ°λ€. κ°μ΄ κ°λλΌλ, μλ‘ λ 립μ μΌλ‘ μμ±λμλ€λ©΄ λμΌνλ€κ³ λ³Ό μ μλ€. Swiftμμ… === , !==μ°μ°μλ₯Ό νμ©ν΄ μ°Έμ‘°κ° λμΌνμ§ νμΈν μ μλ€. === λ ν΄λμ€μ λν΄μλ§ μ¬μ©ν μ μλ€ - ꡬ쑰체λ νμ κ³ μ νκ² μ°Έμ‘°λλλ‘ μ€κ³λμκΈ° λλ¬Έ. μ°Έκ³ : ===, !== μ°μ°μ Equality λλ±μ± λ κ°μ²΄κ° κ°μ μ 보λ₯Ό κ°μ§κ³ μλ€. μ°Έμ‘° (κ°μ²΄μ μ£Όμ) κ° λ€λ₯΄λλΌλ, κ·Έ λ΄μ©(κ°)μ΄ κ°μΌλ©΄ λλ±νλ€κ³ νννλ€. λμΌνλ©΄ λλ±νμ§λ§, λλ±νλ€κ³ λμΌν κ²μ μλλ€. Swiftμμ… ==, != μ°μ°μλ₯Ό νμ©ν΄ κ°μ΄ λλ±..
https://developer.apple.com/documentation/swift/array/removefirst() https://developer.apple.com/documentation/swift/array/removelast() removeFirst() : 맨 μμ μμ μ κ±°. O(n) removeLast() : 맨 λ€μ μμ μ κ±°. O(1) λ λ€ λΉ λ°°μ΄μλ μ¬μ© λΆκ°λ₯ removeFirst() μ κ²½μ° O(n) μ΄λ―λ‘ νμ dequeueλ‘ μ¬μ©ν μ μλ€. https://developer.apple.com/documentation/swift/array/removefirst(_:) https://developer.apple.com/documentation/swift/array/remove..
[Swift] μΈμ€ν΄μ€ λΉκ΅ λ°©λ² - is, λ©ν νμ is is : νμ νμΈ μ°μ°μ. μΈμ€ν΄μ€κ° μ΄λ€ ν΄λμ€μ μΈμ€ν΄μ€μΈμ§ (λλ μ΄λ€ ν΄λμ€μ μμν΄λμ€μ μΈμ€ν΄μ€μΈμ§) νμ μ νμΈν΄λ³Ό μ μλ€. ν΄λΉ ν΄λμ€μ μΈμ€ν΄μ€κ±°λ κ·Έ μμν΄λμ€μ μΈμ€ν΄μ€λΌλ©΄ true λ°ν κ·Έλ μ§ μμΌλ©΄ false λ°ν print(latte is Coffee) // true print(latte is Americano) // false λ©ν νμ Meta Type λ©ν νμ : νμ μ νμ . νμ μ체λ₯Ό νλμ νμ μΌλ‘ νν κ°λ₯ .Type : νμ λ€μ λΆμ¬ κ·Έ νμ μ λ©ν νμ λνλ .Protocol : νλ‘ν μ½ λ€μ λΆμ¬ κ·Έ νλ‘ν μ½ νμ μ λ©ν νμ μ λνλ .self : νμ μ κ°μ²λΌ νν κ°λ₯ let intTy..
[Swift] νλ‘ν μ½ Protocol Swift νλ‘κ·Έλλ° - 377μͺ½ ~ νλ‘ν μ½ : νΉμ μν (κΈ°λ₯)μ νκΈ° μν λ©μλ, νλ‘νΌν°, κΈ°ν μꡬμ¬νμ μ²μ¬μ§μ μ μν κ² νλ‘ν μ½μ κΈ°λ₯μ μ μνκ³ μ μν λΏ, μ€μ€λ‘ κΈ°λ₯μ ꡬννλ κ²μ΄ μλλ€. ꡬ쑰체/ν΄λμ€/μ΄κ±°νμ νΉμ νλ‘ν μ½μ μ±ν(adopted)ν΄μ κ·Έ μν μ μν μꡬμ¬νμ ꡬννλ€. μ΄λ€ νμ μ΄ μ΄λ€ νλ‘ν μ½μ μꡬμ¬νμ λ°λ₯΄λ©΄, 'ν΄λΉ νλ‘ν μ½μ μ€μνλ€(conform)'λΌκ³ νννλ€. μ€μννΈμμ νλ‘ν μ½μ μμ ν νλμ νμ μΌλ‘ μ¬μ©λλ€. νλΌλ―Έν°λ 리ν΄νμ μΌλ‘ μ¬μ© κ°λ₯ νλ‘νΌν°, λ³μ, μμμ νμ μΌλ‘ μ¬μ© κ°λ₯ λ°°μ΄ λ± μ»¨ν μ΄λ μμμ νμ μΌλ‘ μ¬μ© κ°λ₯ νλ‘ν μ½ λ§λ€κΈ° : protocol ν€μλλ₯Ό μ¬μ©ν΄ μ μΈ..
[Swift] String.Index (κ·Έλ¦¬κ³ Substring) - λ¬Έμμ΄μ νΉμ λ¬Έμ ꡬνκΈ° μ ν 곡μ λ¬Έμ Swift Standard Library > String > String.Index https://developer.apple.com/documentation/swift/string/index/ Swift Standard Library > Substring https://developer.apple.com/documentation/swift/substring μ€λͺ κ³Ό μμ λ₯Ό μ°Έκ³ ν νλ₯ν κΈ http://seorenn.blogspot.com/2018/05/swift-string-index.html String.Index λ¬Έμμ΄μμ λ¬Έμλ μ½λ μ λμ μμΉ. : μ€μννΈμμ λ¬Έμμ΄μ μΈλ±μ€λ₯Ό νν..