swift

ยท๐ŸŒฑ SeSAC
1. ํ™”๋ฉด ์ „ํ™˜ 1) ํ™”๋ฉด ์ „ํ™˜์˜ ํ•„์š”์„ฑ 2) ํ™”๋ฉด ์ „ํ™˜ ์‹œ ๊ณ ๋ ค ์‚ฌํ•ญ ๋„ค๋น„๊ฒŒ์ด์…˜ ์ปจํ…์ธ  ์ „ํ™˜ ๋ฐฉ์‹ (์ƒ์„ธ ์ •๋ณด, ๊ธฐ์กด๊ณผ ๋‹ค๋ฅธ ์ •๋ณด) ์ „ํ™˜ ํšจ๊ณผ (ํŽ˜์ด์ง€ ์ „ํ™˜ ํšจ๊ณผ, ํŒ์—… ๋“ฑ) 3) ๊ฐœ๋ฐœ๋ฐฉ๋ฒ• (๊ตฌํ˜„์— ์–ด๋–ค ์ฐจ์ด๊ฐ€ ์žˆ์„๊นŒ) ์ธํ„ฐํŽ˜์ด์Šค ๋นŒ๋” (๋ฐฉํ–ฅ ์ง์ž‘ ๊ฐ€๋Šฅ, ์ฝ”๋“œ ํ•„์š” ์—†์Œ, ๊ตฌํ˜„ ์‰ฌ์›€, ์„ธ๋ถ€์  ๋Œ€์‘ ๋ถˆ๊ฐ€๋Šฅ) ์ฝ”๋“œ (๋ฐฉํ–ฅ ์ง์ž‘ ์–ด๋ ค์›€, ์ฝ”๋“œ ํ•„์š”, ์ปจํ…์ธ  ํ‘œํ˜„ ์šฉ์ด, ์„ธ๋ถ€์  ๋Œ€์‘ ๊ฐ€๋Šฅ) ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํŽธ์ด๋‹ค. 4) Show vs Modal showmodal push present pop dismiss 5) ์Šคํ† ๋ฆฌ๋ณด๋“œ : Segue - Unwind 6) Modal Presentation Style full screen over full screen (full screen) over..
ยท๐ŸŒฑ 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
What's new in SF Symbols 4 Explore the latest updates to SF Symbols, Apple's extensive library of iconography designed to integrate seamlessly with San Francisco, the system font for all Apple platforms. Discover the latest additions to the SF Symbols library and new categories in the app. Learn about the new Automatic behavior, which chooses the rendering mode that best highlights what's unique..
taeeekki
'swift' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก (9 Page)