SWIFT
-
XMLParserSwift 2024. 5. 20. 18:55
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ XMLParser์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๋คํธ์ํฌ ํต์ ์ ํ๊ณ ์๋ต๊ฐ์ผ๋ก ๋๋ถ๋ถ JSON ํ์์ผ๋ก ์ฒ๋ฆฌ๋ฅผ ํ๋๊ฒ์ ์ต์ํ ๊ฑฐ์์.๊ทธ๋ฐ๋ฐ, ๊ฐํน ์ด๋ค ๊ณต๊ณต API๋ค์ XML ํ์์ผ๋ก ์๋ต์ ์ฃผ๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.์ ๋ง ๋๋ถ๋ถ์ด JSON์ผ๋ก ์ฃผ๊ธดํ์ง๋ง, ๊ทธ๋๋ XML๋ก ์ค๋คํด์ ํฌ๊ธฐํ ์ ์์ผ๋ XML ์๋ต๊ฐ์ ์ด๋ป๊ฒ ํ์ฑํ๊ณ ๋ทฐ์ ๋ํ๋ผ ์ ์๋์ง ํ๋ฒ XMLParser๋ฅผ ํตํด์ ์์๋ด ์๋ค ๐ ๊ทธ๋ผ ๋ฐ๋ก ๋ ์ธ ๊ณ ! ๐ XMLParser์ฐ์ XMLParser์ ๋ํด ๊ฐ๋ ์ ์์๋ณธ ๋ค์์ ์ค์ ๋ก ์ด์ฉํด๋ณผ๊ป์.XMLParser๋ DTD ์ ์ธ์ ํฌํจํด XML ๋ํ๋จผํธ์ ์ด๋ฒคํธ๋ฅผ ๋ค๋ฃจ๋ ํ์๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.์ฆ ์ฝ๊ฒ ๋งํด์ XML ํ์์ ์ฐ๋ฆฌ Swift ๋ชจ๋ธ๋ก ํ..
-
UIPasteboard๋ฅผ ํตํ ํด๋ฆฝ๋ณด๋ ์ฌ์ฉํ๊ธฐiOS 2024. 5. 7. 18:49
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ UIPasteboard์ ๋ํด ์์๋ณด๊ณ ํด๋น ํด๋์ค๋ฅผ ์ฌ์ฉํด ์ค์ ํด๋ฆฝ๋ณด๋์ ํ ์คํธ๋ฅผ ์ ์ฅํ๊ณ ์ธ๋ถ ์ฑ์ด๋ ์ด๋์๋ ์ด ๊ณต์ ๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํด๋ณด๋๊ฒ์ ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ , ์ด์ ํฌ์คํ ์์ PasteButton ์ปดํฌ๋ํธ๋ฅผ ํตํด ํ์ฌ ํด๋ฆฝ๋ณด๋์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ฌ๋ฃ๊ธฐ ํด๋ณด๋๊ฒ์ ์์๋ณธ์ ์ด ์์ด์. SwiftUI - PasteButton์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ PasteButton์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ๋ฆฌ๊ฐ ๋งฅ๋ถ์์๋ ์์ดํฐ์์๋ ํ ์คํธ๋ฅผ ๋ณต์ฌํ๊ณ ๋ถ์ฌ๋ฃ๋ ๊ธฐ๋ฅ์ ์์ฃผ ํํ๊ฒ ์ฌ์ฉํ๊ณ green1229.tistory.com ์ด๋ฒ์๋ ์กฐ๊ธ ๋ ๋์๊ฐ์, ๊ผญ ์ด ๋ฒํผ์ ํตํ ๋์์ด ์๋๋๋ผ๋ ํ์ฌ ๊ณต์ ํ ๋ฐ์ด..
-
Core Transferable ํบ์๋ณด๊ธฐiOS 2024. 4. 18. 18:59
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Core Transferable์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ด์ Transferable ํฌ์คํ ์์ Transferable์ด ์ด๋ค ํ๋กํ ์ฝ์ด๊ณ ์ค์ ๋ก ์ด๋ป๊ฒ ์ฐ์ด๋์ง ์์๋ดค๋๋ฐ์. Transferable ์ฐ๋จนํ๊ธฐ ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ด์ SwiftUI์ ShareLink๋ฅผ ํ์ตํ๋ฉด์ ๋์จ Transferable์ด๋ผ๋ ํ๋กํ ์ฝ์ ๋ํด ํ์ตํด๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป ์ด๋ป๊ฒ ์ด ์ฃผ์ ์ ๋ํด ์๊ธฐ๊ฐ ๋์๋์ง green1229.tistory.com ์ด๋ฒ์๋ ์กฐ๊ธ ๋ ์์๋ก ์ฌ๋ผ๊ฐ์ ๊ฐ๋ ์์ฒด์ ์ข ๋ ์ ์ก ์ ํ์ ์ธ๋ถํ๋๊ฒ๋ค์ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค! ๊ทธ๋ผ ๋ฐ๋ก ๋ค์ด๊ฐ๋ณด๊ฒ ์ต๋๋ค ๐ Core Transferable Core Transferable์ Tran..
-
What's new in Swift 5.10Swift 2024. 3. 21. 18:55
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift 5.10์์ ์ด๋ค๊ฒ๋ค์ด ๋ณํ๋์ง ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฌ์ค Swift 5.10์ ์ผ๋ง์ ์ธ 3์ 5์ผ์ ๋ฆด๋ฆฌ์ฆ๊ฐ ๋์๊ณ , ํ์ฌ Swift ๊ณต์ ๋ ํฌ๋ฅผ ๋ค์ฌ๋ค๋ณด๋ฉด Swift 6.0 ๋ฆด๋ฆฌ์ฆ๋ฅผ ์ค๋น์ค์ด์์. ์ค์ ๋ก ChangeLog๋ฅผ ์ดํด๋ณด๋ฉด Swift 6.0 ๋ณํ๋ฅผ ์ํด ํ์ฌ ํ๋ฐํ ์งํ์ค์ธ๊ฑธ ๋ณผ ์ ์์ต๋๋ค! ๊ทธ๋์ ๊ณง ๋์ฌ Swift 6.0์ ์์๋ณด๊ธฐ์ Swift 5 ๋ฒ์ ๋์ ๋ง์ง๋ง์ธ Swift 5.10์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค ๐ Swift 5.10 ์์ ํ ์๊ฒฉํ๋ ๋์์ฑ ์ฒดํฌ Swift 5.10์์๋ ์์ ํ ์๊ฒฉํ๋ ๋์์ฑ ์ฒดํฌ๋ฅผ ํตํด ์๋ ค์ง ๋ชจ๋ ์ ์ ๋ฐ์ดํฐ ๊ฒฝ์ ์ํ์ ๋ํด ์์ ํด์ก์ต๋๋ค. -strict-concurrency=complete ์ต์ ์..
-
What's new in Screen Time API (WWDC 22)iOS 2024. 3. 18. 19:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ๋ฐ๋ก ์ ๋ฒ์ ์ด์ด์ WWDC 2022์์ ์๊ฐ๋ Screen Time API์ ์ ๊ธฐ๋ฅ๋ค์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฌ์ค, ์ ํํ ๋ง ์๋กญ๊ณ 2๋ ๋ ์ง๋ WWDC์ด๊ธฐ๋ ํ๊ณ ๊ธฐ๋ฅ์ด๊ธฐ๋ ํ์ง๋ง์ ๐ฅฒ ๊ทธ๋๋, ์ ๋ ์ง๊ธ ์์๋ณด๊ณ ์์ผ๋ ์ด์ ๋์จ WWDC๋ฅผ ๋ณด๋๊ฒ์ฒ๋ผ ์๋กญ๊ฒ ๋ณด๋ คํฉ๋๋ค! ์ด์ ํฌ์คํ ์์ WWDC 21์์ ๋์จ Screen Time API๊ฐ ์ด๋ค๊ฒ์ด๊ณ ์ด๋ป๊ฒ ์ฝ๋๋ก ๊ตฌ์ฑ๋๋์ง์ ๋ํด ์์๋ดค์ด์. Meet the Screen Time API (WWDC21) ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Screen Time API์ ๋ํด ์์๋ณด๋ ค ํฉ๋๋ค ๐๐ป ๋์จ์ง ๊ฝค ๋์์ง๋ง, ์ด์ ์ผ ๊ถ๊ธํด์ ํ๋ฒ ํ์ตํด๋ณด๋ ค๊ณ ํด์ใ ใ ํ์ต ๋ ํผ๋ฐ์ค๋ WWDC๋ฅผ ๊ธฐ์ค์ผ๋ก..
-
Meet the Screen Time API (WWDC21)iOS 2024. 3. 14. 19:00
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Screen Time API์ ๋ํด ์์๋ณด๋ ค ํฉ๋๋ค ๐๐ป ๋์จ์ง ๊ฝค ๋์์ง๋ง, ์ด์ ์ผ ๊ถ๊ธํด์ ํ๋ฒ ํ์ตํด๋ณด๋ ค๊ณ ํด์ใ ใ ํ์ต ๋ ํผ๋ฐ์ค๋ WWDC๋ฅผ ๊ธฐ์ค์ผ๋ก ์์๋ด ๋๋ค! Meet the Screen Time API 2021๋ WWDC์์ Meet the Screen Time API๋ผ๋ ์น์ ์์ ์ฒ์ ์ด API๊ฐ ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง ์๊ฐํ๊ณ ์์ต๋๋ค. ์ฌ์ค ๋์จ์ง๋ 3๋ ์ ์ธ 2018๋ ์ ๊ธฐ๋ฅ ์์ฒด๋ ๋์์ฃ ! ๋๋ฐ์ด์ค๋ฅผ ํตํด ์ฌ์ฉ์์ ๊ฐ์กฑ์ ๊ด๊ณ๋ฅผ ๊ฐ์ ํ๋๋ฐ ํฐ ์ง์ ์ด ์์๋ค๊ณ ํฉ๋๋ค. ์ค์ ๋ก ๊ฐ์ฅ ํฐ ์ฌ์ฉ์ฌ๋ก์ด์ ์ํ๋ ์๋๋ ์์ด์ ๊ด๋ จ์ด ์์๊ฒ๋๋ค. ์๋ ๋ค์ ๋ ๋ถ๋ชจ๋๋ค์ด ์๋ ์ ๋๋ฐ์ด์ค์์ ์ฑ ์ฌ์ฉ ์๊ฐ๋ค์ ํ์ ํ ์ ์๊ณ , ๋ ์ ํ์ ๊ฑธ ์๋ ์์ต๋๋ค. ์ด๋ฅผ..
-
New access modifier - packageSwift 2024. 3. 4. 19:08
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift 5.9์์ ์๋ก ๋์จ ์ ๊ทผ ์ ์ด์์ธ package์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค ๐๐ป ๋์จ ๋ฐฐ๊ฒฝ ์๋ ๊ธฐ์กด์ ์ ๊ทผ์ ์ด์๋ผ๊ณ ํ๋ฉด ํํ ์๊ณ ์๋ 5๊ฐ์ง๊ฐ ์์ฃ ! open, public, internal, fileprivate, private ๋ง์ฝ ์ฌ๋ฌ๋ถ๋ค์ด ๋ชจ๋ํ๋ฅผ ์ํค๊ณ ๋ค๋ฅธ ๋ชจ๋ ํจํค์ง์ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํ ๋, ๋๋ถ๋ถ public์ผ๋ก ์์ ํ์๊ฒ๋๋ค. ์ ๋ ๋ฌผ๋ก ๊ทธ๋ ๊ตฌ์..! ์ฌ๊ธฐ์ public์ผ๋ก ์์ ํ๊ฒ๋๋ฉด, ํจํค์ง ๋ด๋ถ์ ์ธ๋ถ ๋ชจ๋์์ ์ ๊ทผํ ์ ์๊ฒ ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ๋ ํธ๋ฆฌํ๊ธด ํ์ง๋ง, ๋ฐ๋์งํ์ง ์์๋๋ ์์ต๋๋ค ๐ฅฒ ํจํค์ง ์ธ๋ถ์ ์ฝ๋๋ฅผ ๊ณต์ ํ์ง ์๊ณ ํจํค์ง ๋ด์ ๋ชจ๋ ๊ฐ์ ์ฝ๋๋ฅผ ๊ณต์ ํ์ฌ์ผ ํ๋ ๊ฒฝ์ฐ๋ ์์ผ๋๊น ๋ง์ด์ฃ ! ๊ทธ๋ ๊ธฐ์, ์ด..
-
TCA 1.0 - Testable Code (ch.09)TCA 2024. 3. 2. 10:14
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ TCA์ Testable Code์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค๐๐ป ํญ์ ํฌ์คํ ์์๋ ์๊ฐํ์ง๋ง, TCA 1.0 ์๋ฆฌ์ฆ ํ์ต์ ์๋ ํ์ต์๋ฃ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ณ ์์ต๋๋ค. ํด๋น ๋ ํผ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ์ตํ๋ฉด์ ์ ๋๋ฆ๋๋ก ์ ๋ฆฌํด๋ณด๋ ํฌ์คํ ์ด๊ธฐ์, ์ฃผ๊ด์ ์ธ ์ฌ๊ฒฌ์ด ์ถ๊ฐ๋ฉ๋๋ค ๐๐ป Chapter 9. TCA์ Testable Code | Notion 9.1 ์ ๋ ํ ์คํธ axiomatic-fuschia-666.notion.site ๊ทธ๋ผ ์์ํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ ๋ ํ ์คํธ TCA๋ฅผ ํ์ตํ๋ฉฐ ๋ํ๋์์ ๋ํด ํ๊ณ ๋ค์ด๋ดค๋ ์ด์ ์ค ํ๋๋ ์์กด์ฑ๋ค์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๊ธฐ ์ํจ ์ฆ, ์์กด์ฑ์ ๋์ผ์ฑ์ ๋ฐฉํดํ์ง ์๊ณ ์์ ํ ์ฌ์ฉํ๊ธฐ ์ํ ๋ชฉ์ TCA๋ ์ก์ ๋จ์๋ก ๋ง๋ค๊ธฐ์ ํ ์คํธ์ ์ฉ์ดํ๋ฉฐ ์์กด์ฑ..