๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

swift ๋ฌธ๋ฒ•๐Ÿ–ค

(36)
replacingOccurrences(of:with:)ํ•จ์ˆ˜ ์ด ๋ฉ”์†Œ๋“œ๋Š” ๋ฌธ์ž์—ด์„ ํŠน์ • ๋‹ค๋ฅธ ๋ฌธ์ž์—ด๋กœ ๋Œ€์ฒดํ•˜๋Š” ํ•จ์ˆ˜์ด๋‹ค. ์ด ํ•จ์ˆ˜๋Š” 'String'ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. func replacingOccurrences( of target: String, with replacement: String ) -> String Parameters target ์›๋ณธ ๋ฌธ์ž์—ด์—์„œ ๋Œ€์ฒดํ•˜๋ ค๋Š” ๋ถ€๋ถ„ ๋ฌธ์ž์—ด replacement ๋Œ€์ฒดํ•˜๊ณ ์žํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด Return Value ์›๋ณธ ๋ฌธ์ž์—ด์—์„œ ๋ชจ๋“  ' target '์„ ์ฐพ์•„์„œ ๊ฐ๊ฐ์„ ' replacement '๋กœ ๋Œ€์ฒดํ•œ ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์‚ฌ์šฉ์˜ˆ์‹œ!!
[SWIFT] self VS Self self Self ์˜๋ฏธ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ด ํƒ€์ž…์„ ๊ฐ€๋ฆฌํ‚ด (ํƒ€์ž…์€ ๋Š˜ ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•จ ์›์น™ ์ ์šฉ) ์„ค๋ช… ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋“ค์ด ์•”์‹œ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ์†์„ฑ Self๊ฐ€ ํŠน์ •ํ•œ ํƒ€์ž…์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฑด ์•„๋‹˜ ํŠน์ • ํƒ€์ž… ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ํƒ€์ž…์„ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ฒƒ ์˜ˆ์‹œ "happy" , 7 , ... String , Int , ... self ์˜๋ฏธ : ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฆฌํ‚ด (๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋“ค์ด ์•”์‹œ์ ์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ์†์„ฑ) ๋ชฉ์  1 ) ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฐ€๋ฅดํ‚ค๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ class Person { var name: String var age : Int init(name: String, age: Int) { self.name = name self.age = age } } let jane = Person(name: "jane", age: 21)..
[SWIFT] mutating ํ‚ค์›Œ๋“œ ๊ตฌ์กฐ์ฒด(struct)์™€ ์—ด๊ฑฐํ˜•(enum) ํด๋ž˜์Šค(class) ํƒ€์ž… ๊ฐ’ํƒ€์ž… ์ฐธ์กฐํƒ€์ž… ๋ฉ”์†Œ๋“œ ๋‚ด์—์„œ ํ”„๋กœํผํ‹ฐ ์ˆ˜์ • mutatingํ‚ค์›Œ๋“œ์— ํ•œ์ • ํ•ญ์ƒ mutating ๋ฉ”์†Œ๋“œ ๋‚ด์—์„œ ๊ตฌ์กฐ์ฒด ๋˜๋Š” ์—ด๊ฑฐํ˜•์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ˆ˜์ •ํ•ด์•ผ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ ๊ตฌ์กฐ์ฒด์™€ ์—ด๊ฑฐํ˜•์€ ๊ฐ’ํƒ€์ž…์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”์†Œ๋“œ ๋‚ด์—์„œ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋•Œ ์ˆ˜์ •์„ ๊ฐ€๋Šฅ์ผ€ ํ•˜๋Š” ํ‚ค์›Œ๋“œ๊ฐ€ mutating ํ‚ค์›Œ๋“œ์ด๋‹ค.
[SWIFT] ์ง„์ˆ˜๋ฐ”๊พธ๊ธฐ (radix) Int์˜ ์ƒ์„ฑ์ž ( ?์ง„์ˆ˜์—์„œ 10์ง„์ˆ˜๋กœ ๋ฐ”๊ฟ€๋•Œ ์‚ฌ์šฉ) init(_:radix:) init?( _ text: S, radix: Int = 10 ) where S : StringProtocol ํ•ด๋‹น radix ๊ฐ’์ธ text๋ฅผ ๊ฐ€์ง€๊ณ  10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค. String์˜ ์ƒ์„ฑ์ž ( 10์ง„์ˆ˜์—์„œ ?์ง„์ˆ˜๋กœ ๋ฐ”๊ฟ€๋•Œ ์‚ฌ์šฉ) init(_:radix:uppercase:) init( _ value: T, radix: Int = 10, uppercase: Bool = false ) where T : BinaryInteger 10์ง„์ˆ˜์ธ value๊ฐ’์„ radix์ง„์ˆ˜๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. ์œ„์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•œ๋‹ค.
[SWIFT] Intํ•จ์ˆ˜ ๋ฟŒ์…”๋ณด๊ธฐ ์ •์ˆ˜ํ˜•์„ ํ‘œํ˜„ํ•˜๋Š” ๋ฐ์ดํ„ฐํƒ€์ž…์—๋Š” Int8 , Int16 , Int32 ,Int63์ด ์žˆ๋‹ค. ์‹ค์ œ ๊ฐœ๋ฐœํ• ๋•Œ ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” Intํ˜•์€ ์‚ฌ์šฉ์ž์˜ ์‚ฌ์šฉํ”Œ๋žซํผ์— ๊ทผ๊ฑฐํ•˜์—ฌ ์„ค์ •๋œ๋‹ค. (๋งŒ์•ฝ 32๋น„ํŠธ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด Int == Int32 , 64๋น„ํŠธ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด Int == Int64๊ฐ€ ๋œ๋‹ค. Intํ˜• ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ์ƒ์„ฑ์ž ๊ตฌ๊ฒฝํ•˜๊ธฐ Converting Floating-Point Values (์‹ค์ˆ˜ํ˜• ๊ฐ’์„ ๋ฐ”๊พธ๊ธฐ) init(_:) Int(n)์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๋ฉด, Double, Float ,Float16, Float80์ธ n์„ Intํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. Converting with No Loss of Precision (์ •๋ฐ€๋„ ์ €ํ•˜์—†์ด ๋ฐ”๊พธ๊ธฐ) init(exactly:) ์ „๋‹ฌ๋œ ๊ฐ’์ด ์ •ํ™•๋„ ์†์‹ค ์—†์ด ํ‘œํ˜„๋  ์ˆ˜ ์—†๋Š”..
[SWIFT] ํƒ€์ž…์• ์ผ๋ฆฌ์–ด์Šค(Type Alias) ํƒ€์ž…์• ์ผ๋ฆฌ์–ด์Šค๋ž€? ๊ธฐ์กด์— ์„ ์–ธ๋˜์–ด์žˆ๋Š” ํƒ€์ž…์— ์ƒˆ๋กœ์šด ๋ณ„์นญ์„ ๋ถ™์—ฌ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์„ ๋†’์ด๋Š” ๋ฌธ๋ฒ• : ๋ณ„์นญ๋ถ™์ด๊ธฐ, ์น˜ํ™˜ // ์™ผ์ชฝ์— ์น˜ํ™˜๋œ ๋ณ„์นญ์ด ์œ„์น˜ typealias Name = String // Nameํƒ€์ž…์ด ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์€ String๊ณผ ์™„์ „ํžˆ ๋™์ผ let name: Name = "ํ™๊ธธ๋™"
[SWIFT] ์—ด๊ฑฐํ˜•(Enumerations) ์—ด๊ฑฐํ˜•์ด๋ž€? ์—ฐ๊ด€๋œ ์ƒ์ˆ˜(์ผ€์ด์Šค)๋“ค์„ ํ•˜๋‚˜์˜ ์ด๋ฆ„์œผ๋กœ ๋ฌถ์€ ์ž๋ฃŒํ˜• (ํƒ€์ž…) ์ผ€์ด์Šค๊ฐ€ ์„ ํƒ๊ฐ€๋Šฅํ•˜๊ณ  ํ•œ์ •๋œ ๊ฐ€์ง“ ์ˆ˜๋กœ ์ •ํ•ด์ ธ ์žˆ์„๋•Œ ์ •์˜ ๊ฐœ๋ฐœ์ž ๋งˆ์Œ๋Œ€๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋А ์ž๋ฃŒํ˜• (์ž๋ฃŒํ˜•์˜ 1๊ทœ์น™ : ์ฒซ๊ธ€์ž ๋Œ€๋ฌธ์ž๋ฅผ ์ง€์ผœ์•ผ ํ•จ) ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์•ˆ์ •์„ฑ์ด ๋†’์•„์ง ==> ๋ช…ํ™•ํ•œ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ case์—์„œ ๋ฒ—์–ด๋‚˜๋ฉด ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•ˆ์ •์  ์—ด๊ฑฐํ˜•์„ ์–ธ์ œ ์‚ฌ์šฉํ• ๊นŒ? [ํ•œ์ •๋œ ์‚ฌ๋ก€(์ •ํ•ด์ง„ ๊ฐฏ์ˆ˜) ์•ˆ์—์„œ ์ •์˜ํ•  ์ˆ˜ ์žˆ์„๋•Œ] - ์›” / ํ™” / ์ˆ˜ / ๋ชฉ / ๊ธˆ / ํ†  / ์ผ - ๋™ / ์„œ / ๋‚จ / ๋ถ - ์ขŒ๋กœ ์ •๋ ฌ / ๊ฐ€์šด๋ฐ ์ •๋ ฌ / ์šฐ์ธก ์ •๋ ฌ - ์ดˆ๋“ฑํ•™๊ต / ์ค‘ํ•™๊ต / ๊ณ ๋“ฑํ•™๊ต / ๋Œ€ํ•™๊ต - ๋‚จ / ์—ฌ - ๊ฐ€์œ„ / ๋ฐ”์œ„ / ๋ณด enum School { case eliimentary case middle case ..
[SWIFT] ์ปฌ๋ ‰์…˜ ( Array, Set, Dictionary, KeyValuePairs ) ์ปฌ๋ ‰์…˜? ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์š”์†Œ๋ฅผ ์ €์žฅํ•˜๊ณ  ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ปฌ๋ ‰์…˜์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๊ณ  ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ์กฐ์ž‘์„ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค. Array ์ˆœ์„œ๊ฐ€ '์žˆ๋Š”' ์š”์†Œ์˜ ์ง‘ํ•ฉ (์ค‘๋ณต ๊ฐ€๋Šฅ) ๋™์ผํ•œ ํƒ€์ž…์˜ ๋ฐ์ดํ„ฐ๋งŒ ๋‹ด์„ ์ˆ˜ ์žˆ์Œ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ ์š”์†Œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. (์š”์†Œ์˜ ์ถ”๊ฐ€ , ์‚ญ์ œ , ์ˆ˜์ • ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ์Œ) ๋นˆ ๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐฉ๋ฒ• (๋นˆ array๋ฅผ ์ƒ์„ฑํ•  ๋•Œ๋Š” ์ž๋ฃŒํ˜•์„ ๊ผญ ๋ช…์‹œํ•ด์•ผํ•จ) let emptyArray1: [Int] = [] let emptyArray2 = Array() let emptyArray3 = [Int]() ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐฉ๋ฒ• (Type Inference ๊ฐ€๋Šฅ, ๋ฐฐ์—ด๋งŒ ๊ฐ€๋Šฅํ•จ) var numsArray = [1, 2, 3, 4, 5] Set ์ˆœ์„œ๊ฐ€ ..