IOS

ยท๐ŸŒฑ SeSAC
ํด๋ž˜์Šค์™€ ๊ตฌ์กฐ์ฒด 0. ์šฉ์–ด์˜ ๊ตฌ๋ถ„ ํด๋ž˜์Šค๋ž‘ ๊ตฌ์กฐ์ฒด๋Š” ํ•˜๋‚˜์˜ ํฐ ๋ฐ•์Šค๋ผ๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ ๋™์•ˆ ๋‹ค๋ค˜๋˜ ์ž‘์€ ๋‹จ์œ„์˜ ์ž๋ฃŒํ˜• ๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜์˜ ๋ฌถ์Œ์œผ๋กœ ๋ฌถ๋Š” ๊ณผ์ •์ด๋‹ค. ์ด์— ๋”ฐ๋ผ์„œ ์šฉ์–ด๋ฅผ ์กฐ๊ธˆ ๊ตฌ๋ถ„ํ•  ํ•„์š”๊ฐ€ ์žˆ๋‹ค. ๋ณ€์ˆ˜/์ƒ์ˆ˜ : ํ”„๋กœํผํ‹ฐ ํ•จ์ˆ˜ : ๋ฉ”์„œ๋“œ ์œ„์˜ 2๊ฐ€์ง€๋ฅผ ๋ฌถ์–ด์„œ ๋ฉค๋ฒ„๋ผ๊ณ  ๋ถ€๋ฅผ ์ˆ˜ ์žˆ๋‹ค. 1. ํด๋ž˜์Šค ํž™์— ์ €์žฅ ์‹ค์งˆ์ ์ธ ๊ฐ’์€ ํž™์— ์ €์žฅ(์ž๋ฃŒํ˜•์— ๋”ฐ๋ผ) ๊ฐ’์˜ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ, ์ฐธ์กฐํ•˜๋Š” ์ฃผ์†Œ๋Š” ์Šคํƒ์— ์ €์žฅ 2. ๊ตฌ์กฐ์ฒด ์Šคํƒ์— ์ €์žฅ ๊ฐ’์„ ๋ณต์‚ฌ (๋…๋ฆฝ์ ) 3. ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ตฌ์กฐ(๊ธฐ์ดˆ) ์ฝ”๋“œ : ํ”„๋กœ๊ทธ๋žจ ์†Œ์Šค ์ฝ”๋“œ ๋ฐ์ดํ„ฐ : ์ „์—ญ ๋ณ€์ˆ˜, ํ•ญ์ƒ ๋ฉ”๋ชจ๋ฆฌ ์ฐจ์ง€ ํž™ : ํด๋ž˜์Šค๋Š” ๋ณดํ†ต ํž™์— ์˜ฌ๋ผ๊ฐ, ํด๋ž˜์Šค๋Š” ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ ์Šคํƒ : ํด๋ž˜์Šค ์•ˆ์˜ ํ”„๋กœํผํ‹ฐ(์‹ค์งˆ์ ์ธ ๊ฐ’)์€ ์Šคํƒ์— ์˜ฌ๋ผ๊ฐ 4. ์ดˆ๊ธฐํ™” ํด๋ž˜์Šค๋ฅผ ..
ยท๐ŸŒฑ SeSAC
์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™” ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™” ์„ ์–ธ๋งŒ ํ•˜๊ณ  ๋‚˜์ค‘์— ์ดˆ๊ธฐํ™” ์˜ต์…”๋„ ๊ฐ’์œผ๋กœ ํƒ€์ž…์„ ์ •ํ•ด์ค„์ง€ ์•„๋‹์ง€ ๊ฒฐ์ • ํŒŒ์ผ ์ถ”๊ฐ€ ์‹ค์ œ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์™€ ๊ด€๊ณ„(Reference)๋ฅผ ๋Š์–ด์ฃผ์–ด์•ผ ํ•œ๋‹ค. (์ถ”๊ฐ€ํ•  ๋•Œ๋‚˜ ์‚ญ์ œํ•  ๋•Œ) Class(ํด๋ž˜์Šค) Super Class, Sub Class ๋ถ€๋ชจ-์ž์‹์˜ ๊ด€๊ณ„๋Š” ์ƒ๋Œ€์ ์ธ ๊ฒƒ์ด๋‹ค. Super Class(๋ถ€๋ชจ ํด๋ž˜์Šค) Sub Class(์ž์‹ ํด๋ž˜์Šค) -> Sub Classing(์ž์‹์„ ๋งŒ๋“œ๋Š” ๊ณผ์ •) Base Class(์–ด๋””์—์„œ๋„ ์ƒ์†๋ฐ›๊ณ  ์žˆ์ง€ ์•Š๋Š” ํด๋ž˜์Šค) Inheritance ๋‹ค๋ฅธ ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๋ฉค๋ฒ„(ํ”„๋กœํผํ‹ฐ๋‚˜ ๋ฉ”์„œ๋“œ)๋ฅผ ๊ฐ€์ ธ๋‹ค๊ฐ€ ์“ธ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด๋ฅผ ์ƒ์†์ด๋ผ๋Š” ์šฉ์–ด๋กœ ๋ถ€๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ์ƒ์†์„ ๋ฐ›์€ ํด๋ž˜์Šค๋ฅผ Sub Class๋ผ๊ณ  ๋ถ€๋ฅด๊ณ , ์ƒ์†์„ ํ•ด์ค€ ํด๋ž˜์Šค๋Š” Super Class์ด๋‹ค. ..
ยท๐ŸŽ iOS & Swift
์šฐ์ธก ํ™”๋ฉด์„ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์„๊นŒ? ๊ฐ„๋‹จํ•˜๊ฒŒ TableViewController๋ฅผ ์ด์šฉํ•ด๋ณด๋„๋ก ํ•˜์ž. ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์‚ฌ์šฉํ•œ ํ”„๋กœํ† ์ฝœ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์†Œ๊ฐœํ•˜๊ฒ ๋‹ค. CaseIterable ์—ด๊ฑฐํ˜•์„ ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ํ”„๋กœํ† ์ฝœ CustomStringConvertible ์•„๋ž˜ ๋งํฌ ์ฐธ๊ณ  [Swift] CustomStringConvertible ํ•œ๊ฐ€์ง€ ์ƒˆ๋กœ ์•Œ๊ฒŒ๋œ ๊ฒƒ์€ CustomStringConvertible ํ”„๋กœํ† ์ฝœ์„ ์ฑ„ํƒํ•˜๊ณ , ์ถœ๋ ฅ์„ ํ•˜๋ฉด description์œผ๋กœ ์ •ํ•ด ๋†“์€ String ๊ฐ’์œผ๋กœ ์ถœ๋ ฅ๋˜๊ธธ๋ž˜ ๊ทธ ๋™์•ˆ Type ์—ญ์‹œ String์ธ ์ค„ ์•Œ์•˜์ง€๋งŒ Type์€ ๊ทธ๋Œ€๋กœ ์—ด๊ฑฐํ˜• ํƒ€์ž…์ด์—ˆ๋‹ค. print(SettingType.total)์™€ ๊ฐ™์ด ์ถœ๋ ฅ์„ ํ•˜๋ฉด "์ „์ฒด ์„ค์ •"๊ณผ ๊ฐ™์ด ์ถœ๋ ฅ๋˜๋Š”๋ฐ ์ด๋ฅผ ํ—ค..
ยท๐ŸŽ iOS & Swift
๋“ค์–ด๊ฐ€๋ฉฐ ๊ทธ ๋™์•ˆ ๋„ˆ๋ฌด ์ƒ๊ฐ์—†์ด forEach๋ฌธ์„ ์‚ฌ์šฉํ•ด์™”๋˜ ๊ฒƒ ๊ฐ™๋‹ค. for-in๊ณผ ๋น„์Šทํ•œ ์—ญํ• ์€ ํ•˜๋Š”์ง€๋Š” ์•Œ์•˜์œผ๋‚˜ ์ •ํ™•ํžˆ ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€ ๊นŠ๊ฒŒ ์ƒ๊ฐํ•ด ๋ณธ ์ ์€ ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ฒจ์—๋Š” ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ณ  ์‹ ์„ธ๊ณ„์˜€๊ธฐ์— ๋ฌด์ž‘์ • ์จ์™”์ง€๋งŒ ์ด์ œ๋Š” ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€๋Š” ์งš์–ด๋ณด๊ณ  ๊ฐˆ ๋•Œ์ด์ง€ ์•Š์„๊นŒ ์‹ถ๋‹ค. ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ์ด๋Ÿฌํ•œ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ•ด์ฃผ์…”์„œ ์ข‹์€ ๊ธฐํšŒ์— ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด๊ณ ์ž ํ•œ๋‹ค. for - in var nums: [Int] = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] // ์ปฌ๋ ‰์…˜์˜ ์‚ฌ์ด์ฆˆ๋งŒํผ ๋ฐ˜๋ณต for num in nums { print(num) } // 5๋ณด๋‹ค ํฐ ์ˆ˜๋งŒ ์ถœ๋ ฅ for num in nums where num > 5 { print(num) } // ์ง์ˆ˜๋งŒ ์ถœ๋ ฅ for num ..
ยท๐ŸŽ iOS & Swift
์˜ค๋Š˜์€ ๋ญ”๊ฐ€ ์˜๊ด‘์Šค๋Ÿฌ์šด(?!) ๋‚ ์ž…๋‹ˆ๋‹ค. ์ƒ๊ฐ๋งŒ ํ–ˆ์—ˆ๋˜ ์˜คํ”ˆ์†Œ์Šค Contributor ๋˜๊ธฐ ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ธ๋ฐ์š”. ์‚ฌ์‹ค ์–ด๋”” ๋‚ด๋†“๊ธฐ ์ •๋ง ๋ถ€๋„๋Ÿฌ์šด Commit์œผ๋กœ ๋‚ ๋กœ ๋จน์€ ๋Š๋‚Œ์ด ์žˆ์ง€๋งŒ์€ ๊ทธ๋ž˜๋„ ๋ฟŒ๋“ฏํ•ด์„œ ๊ธฐ๋ก์„ ๋‚จ๊น๋‹ˆ๋‹ค. ํ‰์†Œ์—๋„ ์œ ๋ช…ํ•œ ์˜คํ”ˆ์†Œ์Šค์— ๊ธฐ์—ฌ๋ฅผ ํ•˜๊ณ  ์‹ถ๋‹ค๋Š” ๋ง‰์—ฐํ•œ ๊ฟˆ์€ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ์ง€๋งŒ ์—„๋‘๊ฐ€ ์ „ํ˜€ ๋‚˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ƒˆ์‹น ๊ณผ์ • 9์ผ์ฐจ์— ์ ‘์–ด๋“ค๋ฉด์„œ ์˜ค๋Š˜์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•ด์„œ ๋‚ด์šฉ์„ ๋‹ค๋ฃจ์—ˆ๋Š”๋ฐ์š”. ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ช‡ ๊ฐœ๋ฅผ ์†Œ๊ฐœํ•ด์ฃผ์…จ์Šต๋‹ˆ๋‹ค. ๊ทธ ์ค‘ FSCalendar ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋‚˜๋ฆ„ ์• ์ฆ์˜ ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜€๋Š”๋ฐ์š”. ๊ฐ€์žฅ ์ตœ๊ทผ์— ํ•œ ํ”„๋กœ์ ํŠธ์—์„œ๋„ FSCalendar๋ฅผ ์‚ฌ์šฉํ–ˆ์—ˆ๊ณ , ๋‚˜๋ฆ„ ์ปค์Šคํ…€๋„ ํ•˜๊ณ  ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— Contributor๋กœ ์ด๋ฆ„์„ ..
ยท๐ŸŒฑ SeSAC
๐Ÿชด Summary AutoLayout Priority ViewController ์ข…๋ฅ˜ (UIAlertController - Alert, Action Sheet - ์ค‘์‹ฌ์œผ๋กœ ๋ณธ) Literal Playground ํ•จ์ˆ˜, ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’ ๐Ÿ—‚ Memo TIL์— ๋„ˆ๋ฌด ๋งŽ์€ ๋ฆฌ์†Œ์Šค๋ฅผ ๋“ค์ด์ง€ ๋ง™์‹œ๋‹ค. AutoLayout Priority hugging priority resistance priority ์šฐ์„ ์ˆœ์œ„๋Š” ์ดํ›„์— ๋‹ค๋ฅธ ์•„ํ‹ฐํด์—์„œ ๋” ์ž์„ธํžˆ ์ •๋ฆฌํ•˜๋„๋ก ํ•˜๊ฒ ๋‹ค. View ๋˜๋Š” Button์— Tag ๊ฐ’ ๋ถ€์—ฌ UIView์—๋Š” tag๋ผ๋Š” ํ”„๋กœํผํ‹ฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ํ•ด๋‹น ํ”„๋กœํผํ‹ฐ๋กœ ๊ฐ๊ฐ์˜ ์š”์†Œ๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋™์ผํ•œ ์š”์†Œ๋ฅผ ๊ฐ™์ด ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์•ก์…˜์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋นจ๊ฐ„์ƒ‰ ๋ฐ•์Šค ๋ถ€๋ถ„์ด UIBut..
ยท๐ŸŽ iOS & Swift
Swift 5๋ถ€ํ„ฐ ์ง€์›ํ•˜๋Š” ๋ฌธ์ž์—ด ํ‘œํ˜„ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๊ฐœ์„ ์ ์„ ๊ฐ™์ด ์•Œ์•„๋ด…์‹œ๋‹ค. SE-0200 Enhancing String Literals Delimiters to Support Raw Text ๋งŽ์€ ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Swift๋Š” ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž( \ )๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด ๋‚ด์—์„œ ํ›„์† ๋ฌธ์ž์˜ ํŠน๋ณ„ํ•œ ํ•ด์„์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž ์‹œํ€€์Šค๋Š” ๋ฌธ์ž์—ด ๊ตฌ๋ถ„ ๊ธฐํ˜ธ(ํฐ ๋”ฐ์˜ดํ‘œ), ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž(๋ฐฑ ์Šฌ๋ž˜์‹œ), ๋ฌธ์ž์—ด ๋ณด๊ฐ„ ๋“ฑ์— ๋Œ€ํ•œ ๋ฌธ์ž ์ง‘ํ•ฉ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์‚ฌ์‹ค ์ด์Šค์ผ€์ดํ”„ ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋„ˆ๋ฌด ๊ท€์ฐฎ์€ ์ผ์ด๊ณ , ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด ์•ˆ์— ๋งŽ์€ ์ด์Šค์ผ€์ดํ”„ ์‹œํ€€์Šค๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ์ฝ๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ Apple์—์„œ ์•Œ์•„์ฃผ์—ˆ๋Š”์ง€ Swift 5๋ถ€ํ„ฐ๋Š” ์กฐ๊ธˆ ๋” ๋‹จ์ˆœํ•˜๊ณ  ๊น”๋”ํ•˜๊ฒŒ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด ๊ตฌ๋ฌธ์„ ์ž‘์„ฑํ•  ..
ยท๐ŸŽ iOS & Swift
tintColor UIImageView - Instance Property ๋ทฐ ๊ณ„์ธต์—์„œ ํ…œํ”Œ๋ฆฟ ์ด๋ฏธ์ง€์— ์ƒ‰์กฐ๋ฅผ ์ง€์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ปฌ๋Ÿฌ์ž…๋‹ˆ๋‹ค. var tintColor: UIColor! { get set } default๋Š” nil์ž…๋‹ˆ๋‹ค. ๋งŒ์•ฝ nil์ด ์•„๋‹ˆ๋ผ๋ฉด ์ปฌ๋Ÿฌ๋Š” ์ด๋ฏธ์ง€ ๋ทฐ์— ์ฒจ๋ถ€๋œ ํ…œํ”Œ๋ฆฟ ์ด๋ฏธ์ง€์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ tintColor๋Š” UIView๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ”„๋กœํผํ‹ฐ์ž…๋‹ˆ๋‹ค. ์ƒ์œ„๊ฐ€ ๋˜๋Š” ๋ทฐ์˜ tintColor๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ์ƒ์†๋ฐ›๋Š” ํ•˜์œ„ ๋ทฐ์— ์ฐจ๋ก€๋Œ€๋กœ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. override func viewDidLoad() { view.tintColor = UIColor.red } func application(_ application: UIApplication, didFinishLaunchi..
taeeekki
'IOS' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก (9 Page)