λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

🍎 iOS/Swift

[Swift] String(describing:) μ‚¬μš©ν•˜μ—¬ ν˜„μž¬ 클래슀 이름 μ–»κΈ°

String(describing:)
λ©”μ†Œλ“œ μ‚¬μš©ν•˜μ—¬ float <-> String, ν˜„μž¬ ν΄λž˜μŠ€ μ΄λ¦„ λ°›κΈ°

 

Declaration

init<Subject>(describing instance: Subject)

Swiftμ—μ„œ κ°’μœΌλ‘œλΆ€ν„° μƒμ„±ν•˜λŠ” 것은 String( )으둜 νŠΉμ • 값을 κ°μ‹Έμ„œ λ¬Έμžμ—΄(String)둜 λ§Œλ“­λ‹ˆλ‹€.

Swift의 κΈ°λ³Έ νƒ€μž…λ“€μ€ λͺ¨λ‘ 이 λ³€ν™˜μ΄ κ°€λŠ₯ν•˜λ©°, (사싀 μΈν„°ν΄λ ˆμ΄μ…˜μ΄ κ°€λŠ₯ν•œ νƒ€μž…λ“€μ€ λ‹€ λœλ‹€κ³  보면 λœλ‹€.)

κ·Έ 외에 이λ₯Ό ν†΅ν•œ μ§λ³€ν™˜μ΄ λΆˆκ°€λŠ₯ν•œ νƒ€μž…λ“€μ€ String(describing:)을 μ΄μš©ν•΄μ„œ λ³€ν™˜ν•˜λ©΄ λœλ‹€.

 

Float -> String

let stringValue = String(describing: floatValue)

λ°˜λŒ€λ‘œ String -> Float

let floatValue = CGFloat(NSString(string: StringValue).floatValue)

 


String(describing:) λ©”μ†Œλ“œλ₯Ό μ‚¬μš©ν•˜λ©΄ ν˜„μž¬ 클래슀 이름을 받을 수 μžˆμŠ΅λ‹ˆλ‹€.

AViewController νŒŒμΌμ—μ„œ λ‹€μŒκ³Ό 같이 μ½”λ“œλ₯Ό μž‘μ„±ν•΄λ„ λ˜μ§€λ§Œ,

print(String(describing: AViewController.self))

더 κ°„νŽΈν•˜κ²Œ, ν˜„μž¬ 클래슀 이름을 μ•Œκ³  μ‹ΆμœΌλ©΄ λ‹€μŒκ³Ό 같이 μž‘μ„±ν•˜μ„Έμš” :)

print(String(describing: type(of: self)))

 

μ•„λž˜ κ°™μ΄ ν˜„μž¬ 클래슀의 이름이 좜λ ₯λ©λ‹ˆλ‹€. πŸ‘πŸ»πŸ‘πŸ»

*주의: ClassName.Typeν•  경우 컴파일 μ—λŸ¬ λ°œμƒ -> νŠΉμ • 클래슀의 νƒ€μž…μ„ μ–»κ³  싢은 경우 ClassName.self둜 μ ‘κ·Ό

728x90
λ°˜μ‘ν˜•