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

study iOS๐ŸŽ

[Too Swift] ์‹œ์ฆŒ1 2ํ™” How Swift deals with Strings ์Šค์œ„ํ”„ํŠธ๊ฐ€ ์ŠคํŠธ๋ง์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ• 1. A String as a collection of a Grapheme cluster or clusters : ์Šค์œ„ํ”„ํŠธ์—๊ฒŒ ์ŠคํŠธ๋ง์€ ๊ทธ๋ž˜ํ•Œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ปฌ๋ ‰์…˜์ด๋‹ค. let cafeNormal = "café" let cafeCombined = "cafe\u{0301}" // \u0000001100000001 => hexacoded unicode code point ์˜ˆ๋ฅผ ๋“ค์–ด, ์œ„์—์„œ ์ฒซ ๋ฒˆ์งธ ์ƒ์ˆ˜์˜ ๋‘ ๋ฒˆ์งธ ์ƒ์ˆ˜ ์œ ๋‹ˆ์ฝ”๋“œ ์ƒ ์ฝ”๋“œ ํฌ์ธํŠธ ๊ฐฏ์ˆ˜๋Š” 4๊ฐœ์™€ 5๊ฐœ๋กœ ์ƒ์ดํ•˜๋‚˜, ์Šค์œ„ํ”„ํŠธ๋Š” ์˜์–ด ์•ŒํŒŒ๋ฒณ e์™€ ๋ฐœ์Œ๊ธฐํ˜ธ๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ฌถ์–ด ํ•˜๋‚˜์˜ ์บ๋ฆญํ„ฐ๋กœ ๋ด…๋‹ˆ๋‹ค. // ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— cafeNormal.unicodeScalars.count // 4 cafeCombining.unicodeScalars.count // 5 ๋”๋ณด๊ธฐ
[Too Swift] ์‹œ์ฆŒ1 2ํ™” How Swift deals with Strings ์Šค์œ„ํ”„ํŠธ๊ฐ€ ์ŠคํŠธ๋ง์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ• : ๋„ˆ๋ฌด ์ค‘์š”ํ•œ ์ž๋ฃŒํ˜• !! 1. [ A String as a collection of a Grapheme cluster or clusters ] : ์Šค์œ„ํ”„ํŠธ์—๊ฒŒ ์ŠคํŠธ๋ง์€ ๊ทธ๋ž˜ํ•Œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ปฌ๋ ‰์…˜์ด๋‹ค. let cafeNormal = "café" let cafeCombined = "cafe\u{0301}" // \u0000001100000001 => hexacoded unicode code point ์˜ˆ๋ฅผ ๋“ค์–ด, ์œ„์—์„œ ์ฒซ ๋ฒˆ์งธ ์ƒ์ˆ˜์˜ ๋‘ ๋ฒˆ์งธ ์ƒ์ˆ˜ ์œ ๋‹ˆ์ฝ”๋“œ ์ƒ ์ฝ”๋“œ ํฌ์ธํŠธ ๊ฐฏ์ˆ˜๋Š” 4๊ฐœ์™€ 5๊ฐœ๋กœ ์ƒ์ดํ•˜๋‚˜, ์Šค์œ„ํ”„ํŠธ๋Š” ์˜์–ด ์•ŒํŒŒ๋ฒณ e์™€ ๋ฐœ์Œ๊ธฐํ˜ธ๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ฌถ์–ด ํ•˜๋‚˜์˜ ์บ๋ฆญํ„ฐ๋กœ ๋ด…๋‹ˆ๋‹ค. // ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— cafeNormal.unicodeScalars.count // 4 cafeCombining.unicodeScalars.count /.. ๋”๋ณด๊ธฐ
[Too Swift] ์‹œ์ฆŒ1 1ํ™”. ํด๋กœ์ €๊ฐ€ ๋ˆ„๊ตฐ๋ฐ ? (who's mr. closure?) Collection Iteration with Closure : Mr. closure์™€ ํ•จ๊ป˜ํ•˜๋Š”, ์ปฌ๋ ‰์…˜ ์ดํ„ฐ๋ ˆ์ด์…˜ ์ผ๋ จ์˜ ํ”„๋กœ์‹œ์ ธ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๋Š”, func์ด์™ธ์˜ ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์ด ๋˜๋Š” ... ํŠนํžˆ, ์ปฌ๋ ‰์…˜๋“ค์„ ๋‹ค๋ฃฐ ๋•Œ ํŠนํžˆ ์œ ์šฉํ•œ ... ๋ณ€์ˆ˜์— ํ• ๋‹นํ•ด, ๋‹ค๋ฅธ value๋“ค ์ฒ˜๋Ÿผ "์ฃผ๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”" ... ๊ทธ ๋ถ„ ... ์ด๋ฆ„ ์—†๋Š” ํ•จ์ˆ˜ ... Mr. closure๋ฅผ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์ฐธ๊ณ  : Raywenderlich "Swift Apprentice" https://store.raywenderlich.com/products/swift-apprentice Closure Basics ํด๋กœ์ € ์Œฉ๊ธฐ์ดˆ + training ํด๋กœ์ ธ๋Š” ๋‘˜๋Ÿฌ์‹ผ ํ™˜๊ฒฝ์˜ ๋ณ€์ˆ˜๋‚˜ ์ƒ์ˆ˜๋ฅผ ์ž์‹ ์˜ scope์œผ๋กœ "close over"ํ•  ์ˆ˜ ์žˆ์–ด์„œ, ํด๋กœ.. ๋”๋ณด๊ธฐ