์ ์ฒด ๊ธ
-
Colletcion์ Struct ํ์ ์ธ๋ฐ Heap์ ์ ์ฅ๋๋ ์ด์ ?Swift 2023. 9. 25. 14:33
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐์ด๋ฒ ํฌ์คํ ์์๋ Swift ์ธ์์ผ๋ก ๋์ด์์ Collection์ด๋ผ๋ ๊ฐ ํ์ ์ด ์ Heap์ ์ ์ฅ๋๋์ง ๊ทธ ์ด์ ๋ฅผ ํํค์ณ๋ณด๊ฒ ์ต๋๋ค! ์ด์ ํฌ์คํ ์์ ๋ฉ๋ชจ๋ฆฌ ๋คํ๋ฅผ ๋ถ์ํ๋ค๊ฐ string์ด dump์ ๋จ์์๋๊ฑธ ๋ณด๊ณ string์ ์กฐ๊ธ ๋ ํํค์ณ๋ณด๊ณ ์์๋๋ฐ์. ์ ๋ชฐ๋๋ ์ฌ์ค์ด๋ ์๋ชป ์๊ณ ์์๋ ์ง์์ ๊นจ๋ฌ์์ด์!๊ทธ๋์ ์ด๋ฒ์ String์ผ๋ก ์์ํ์ง๋ง Collecion์ด๋ผ๋ ์์ ๊ฐ๋ ์ผ๋ก ๊ฐ์ด ์ค๋ช ์ ํด๋ณด๋ คํฉ๋๋ค ๐๐ป ๋ฉ๋ชจ๋ฆฌ ๋คํ ๋ถ์ (feat. fridump)์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ fridump๋ฅผ ์ด์ฉํด์ ๋ฉ๋ชจ๋ฆฌ ๋คํ ๋ถ์์ ํด๋ณผ๊นํด์! ์ฌ์ค ๋ณด์ํ์์๋ ๊ฐ ์ฑ์ ๋ณด์์ ์ง๋จํ๊ธฐ ์ํด์ memory dump๋ฅผ ๋ณด๊ณ ๋ถ์ํ๋ ์ ๋ฌด๋ ํ๊ณ gree..
-
Turing machine (ํ๋ง ๋จธ์ )CS(ComputerScience) 2023. 9. 21. 10:17
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ iOS๊ฐ ์๋ ์ข ๋ ์ปดํจํฐ์ ๊ทผ๊ฐ์ธ ํ๋ง ๋จธ์ ์ ๋ํด ํ๋ฒ ์์๋ณด๋ คํฉ๋๋ค! ์ผ๋จ, ํ๋ง ๋จธ์ ์ด๋ผํ๋ฉด ์์ํ์ ๋ถ์ด ์ ๋ง ๋ง์ผ์ค๊ฒ ๊ฐ์์. ์ฌ์ค์ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ์ค๋งํธํฐ๋ ์ปดํจํฐ์ ์ผ์ข ์ด๊ณ ๊ทธ ์ปดํจํฐ์ ์๋ฆฌ๋ ํ๋ง ๋จธ์ ์ ๊ฐ๋ ๊ณผ ์๋ฆฌ์์ ์ด์ด์ง๋๋ค. ์ฆ, ํ๋ง ๋จธ์ ์ด ๊ทผ๊ฐ์ด๋ผ๋๊ฑฐ์ฃ ๐ ๊ทธ๋ ๊ธฐ์ ์ด๋ฒ ํฌ์คํ ์์๋ ๊ทธ๋ฅ ์ ๊ฐ ์ฌ๋ฐ์ด์ ํด๋ณด๊ณ ์ถ์ ๊ณต๋ถ์ธ ํ๋ง ๋จธ์ ์ ๋ํด ์์ธํ ์ ๋ฆฌํด๋ณผ๊น ํฉ๋๋ค! ๋จผ์ ํ๋ง ๋จธ์ ์ ์๊ธฐ์ ์ ์จ๋ฐ ํ๋ง์ด๋ผ๋ ์ฌ๋์ ๋ํด ์์๋ด์ผ ํฉ๋๋ค ๐๐ป ์จ๋ฐ ํ๋ง ๋ค๋ค ํน์ ์ด๋ฏธํ ์ด์ ๊ฒ์์ด๋ผ๋ ์ํ ๋ณด์ จ๋์? ๊ฐ๋ตํ ๋ด์ฉ์ 2์ฐจ ์ธ๊ณ ๋์ ์์ ๋ ์ผ๊ตฐ์ด ๊ธ์ ๋ฐฐ์ด์ ๋ฐ๊ฟ ๋ฌดํ๋์ ๊ฐ๊น์ด ์ํธ ์กฐํฉ์ ๋ง๋ค์ด๋ด๋ ์ ๋๊ทธ๋ง๋ฅผ ์ฌ์ฉํ์ฌ ์ฐํฉ๊ตฐ์ด ๊ณค์์..
-
ScrollTargetBehaviorSwiftUI 2023. 9. 18. 12:29
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ ScrollTargetBehavior๋ผ๋๊ฒ์ ๋ํด ํ์ตํด๋ณด๋ ค ํฉ๋๋ค ๐๐ป ์ฐ์ ์ด ScrollTargetBehavior์ด ์ด๋ค๊ฑด์ง ์์์ผ๊ฒ ์ฃ ? ScrollTargetBehavior? iOS 17 ์ด์๋ถํฐ SwiftUI์์ ์๋กญ๊ฒ ์ง์ํ๋ ๊ธฐ๋ฅ์ ๋๋ค. protocol ScrollTargetBehavior ์ด๋ ๊ฒ ํ๋กํ ์ฝ๋ก ์คํฌ๋กค ๊ฐ๋ฅํ ๋ทฐ์ ์คํฌ๋กค ๋์์ ์ ์ํ๋ ์ ํ์ด์์. ์ฆ ์ฝ๊ฒ ๋งํด ์ฐ๋ฆฌ๊ฐ SwiftUI์ ScrollView ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ์ฌ ์คํฌ๋กค๋ง์ ํ ๋ ์ด๋ค ์คํฌ๋กค ๋์์ ํด์ค์ง๋ฅผ ์ ์ํ ์ ์๋๊ฒ์ด์ฃ . ๊ทธ๋ผ ์ด ๊ธฐ๋ฅ์ด SwiftUI์์ ์ด๋ค ํ์ค์ ์ผ๋ก์ ๊ธฐ๋ฅ์ ํด์ค ์ ์์๊น์? ScrollTargetBehavior์ด ์๊ธฐ์ ์ฐ์ ..
-
๋ฉ๋ชจ๋ฆฌ ๋คํ ๋ถ์ (feat. fridump)iOS 2023. 9. 14. 10:11
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ fridump๋ฅผ ์ด์ฉํด์ ๋ฉ๋ชจ๋ฆฌ ๋คํ ๋ถ์์ ํด๋ณผ๊นํด์! ์ฌ์ค ๋ณด์ํ์์๋ ๊ฐ ์ฑ์ ๋ณด์์ ์ง๋จํ๊ธฐ ์ํด์ memory dump๋ฅผ ๋ณด๊ณ ๋ถ์ํ๋ ์ ๋ฌด๋ ํ๊ณ ์์ต๋๋ค. ์ฆ, ์ฌ์ฉ์์ ๋ฏผ๊ฐํ ํด๋ํฐ์ ๋ณด / ๋น๋ฐ๋ฒํธ / ์ด๋ฉ์ผ ๋ฑ ๊ฐ์ธ์ ๋ณด๋ค์ด ์ค์ memory์์ ์ฌ์ฉ ํ ํด์ ๋์ง ์๊ณ ๋จ์์๋์ง, ๊ทธ๊ฒ์ผ๋ก ์ด๋ ํ ํ์ทจ๊ฐ ๊ฐ๋ฅํ ๋ฃจํธ๊ฐ ์๋์ง ๋ฑ์ ํ์ ํ๊ธฐ ์ํด์๋ ์ฑ์ ๋ฉ๋ชจ๋ฆฌ ๋คํ๋ฅผ ๊ฐ์ง๊ณ ๋ถ์ํด๋ณด๋๊ฒ์ด ์ฒซ๋ฒ์งธ ๋จ๊ณ์ผ๊ฒ ๊ฐ์์ ๐๐ป ๊ทผ๋ฐ ์ฐ๋ฆฌ๋ ๋ณด์ํ์ด ์๋์ง๋ง! ๊ทธ๋๋ ์ฐ๋ฆฌ๋ ๋ฏผ๊ฐ์ ๋ณด๋ค์ด ๋ฉ๋ชจ๋ฆฌ์ ๋จ์์์ง ์๊ฒ ์ค๊ณํ๊ณ ๊ตฌํํ๋ค ํ๋๋ผ๋ ๊ฒ์ฆ์ ํด๋ณด๋๊ฒ์ด ์ข๊ฒ ์ฃ ? ๊ทธ๋ ๊ธฐ์ ์ด๋ฒ ํฌ์คํ ์์ ๋ฉ๋ชจ๋ฆฌ ๋คํ๋ฅผ ํ์ธํ๋ ๊ณผ์ ๊น์ง ์๊ฐํด๋ณผ๊นํด์! ๊ฐ์ฅ ์ฐ์ ๋๋๊ฑด frid..
-
DatePicker & Picker ์ฌ์ฉํ๊ธฐSwiftUI 2023. 9. 11. 09:52
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI๋ก DatePicker์ Picker ์ปดํฌ๋ํธ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐ ๋ ์ปดํฌ๋ํธ ๋ชจ๋ ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด ์ด๋ ํ๊ฑธ ์ ํํ๋ ์ฉ๋๋ก ์ฌ์ฉ๋๋ ์ปดํฌ๋ํธ๊ฒ ์ฃ !? ์ฌ์ค ๋๊ฒ ๊ฐ๋จํ ์ปดํฌ๋ํธ๋ค์ด๊ณ ์ฌ์ฉํ๊ธฐ ๋๋ฆ์ด๊ธฐ์ ํ๋ฒ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ๋ฒ์ ์ตํ๋ณผ๊ป์! ๊ทธ๋ผ DatePicker๋ถํฐ ๋ฐ๋ก ๊ฐ๋ณด๊ฒ ์ต๋๋ค ๐ DatePicker A control for selecting an absolute date DatePicker๋ ์ด๋ฆ์์๋ ๋ฐ๋ก ์ ์ ์๋ฏ์ด ์ด๋ค ๋ ์ง๋ฅผ ์ ํํด์ฃผ๋ ์ญํ ์ ์ง๋ ์ปดํฌ๋ํธ์ ๋๋ค. ์ฆ, ์ฝ๊ฒ ๋งํด ์ฌ์ฉ์๊ฐ ํน์ ๋ ์ง๋ฅผ ์ ํํ ์ ์๋๋ก ํ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ปดํฌ๋ํธ๋ฅผ ์๋ฏธํ์ฃ . ๋ ์ง/์๊ฐ์ ์ ํํ ์ ์์ต๋๋ค! str..
-
SwiftUI์ onChange ์ฌ์ฉ ์ ์ฃผ์ํ ๋ถ๋ถSwiftUI 2023. 9. 5. 09:49
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์ onChange ์ฌ์ฉ ๊ตฌํ ์ ์ฃผ์ํ ๋ถ๋ถ์ ๋ํด ํ๋ฒ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป ์ฐ์ , SwiftUI์์๋ ๋ทฐ์์์ ํ๋กํผํฐ ๋ณํ๋ฅผ ๊ณ์ ๊ฐ์งํ๊ณ ์๋ค ๋ณํ๊ฐ ์ผ์ด๋๋ฉด ๊ตฌํ๋ ์ฌํญ์ ๋ฐ์ํด์ฃผ๋ onChange ๋ฉ์๋๊ฐ ์์ต๋๋ค. iOS 17 ์ด์ ์์๋ ์๋ onChange ๋ฉ์๋๋ฅผ ์ด์ฉํ๊ฒ ๋๊ณ , onChange(of:perform:) | Apple Developer Documentation Adds an action to perform when the given value changes. developer.apple.com iOS 17 ์ดํ๋ถํฐ๋ ์ onChange ๋ฉ์๋๊ฐ deprecated๋์ด ์๋ onChange ๋ฉ์๋๋ฅผ ์ด์ฉํด์ผ ํฉ๋๋ค...
-
๋ฆ์์ง๋ง ์ง๊ธ์์์ผ ํด๋ณด๋ KWDC 2023 ํ๊ณํ๊ณ 2023. 8. 31. 10:08
์๋ ํ์ธ์ ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์ ๋ชฉ์ ์ ํ๊ณ ์ ๋๋ค ๐ ๋ฐ๋ก KWDC 2023์ ์ฐ์ฌ๋ก ์ฐธ์ฌํ๋ ๊ฒฝํ์ ๋ํ ํ๊ณ ๋ฅผ ํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ฌ์ค KWDC๊ฐ 7์ 18์ผ์ ์งํ๋์๊ธฐ์ ์กฐ๊ธ ๋ฆ์๊ฐ์ด ์๋ ํ๊ณ ์ด๊ธด ํ์ง๋ง... ํธ์ง ์์ ๋์ค๋ฉด ํ๋ ค๊ณ ๋ฏธ๋ค๋๋ค๊ณ ์ค์ค๋ก ๋์๊ธฐ๋์ค์ ๋๋ค ๐ซ ๊ทธ๋ผ ๋ฐ๋ก ํ๊ณ ๊ฐ๋ณด์๊ณ ~ ์...! ์ผ๋จ KWDC๊ฐ ๋ฌด์์ธ์ง ๋ชจ๋ฅด์ค๋ถ๋ ๋ง๊ธฐ์ KWDC๊ฐ ๋ญ์ง๋ถํฐ ์๊ธฐํด๋ณผ๊น์? ๊ทธ๋.. KWDC๊ฐ ๋ญ๋ฐ? iOS ๊ฐ๋ฐ์๋ผ๋ฉด, ์๋ ์ด์ ๋ iOS ๊ฐ๋ฐ์๊ฐ ์๋๋ผ๋ ์ ํ์์ 1๋ ์ ํ๋ฒ ์ด๋ฆฌ๋ WWDC, Apple Worldwide Developer Conference๋ผ๊ณ ๋ถ๋ฆฌ๋ ์ธ๊ณ ๊ฐ๋ฐ์ ์ปจํผ๋ฐ์ค๊ฐ ์์ต๋๋ค. ๊ทธ์ ํ์๋์ด ์ผ๋ณธ์ด๋ ๋ค๋ฅธ ํด์ธ์์๋ ์ด๋ฏธ ์์ฒด iOS ์ปจํผ๋ฐ์ค๋ฅผ ์ด๊ณ ์์..
-
UIApplicationDelegateAdaptorSwiftUI 2023. 8. 28. 11:19
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ UIApplicationDelegateAdaptor์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป UIApplicationDelegateAdaptor? ์ฐ์ UIApplicationDelegateaAdaptor๋ SwiftUI์์ UIKit app delegate๋ฅผ ์์ฑํ๋๋ฐ ์ฌ์ฉํ๋ ํ๋กํผํฐ ๋ํผ์ ๋๋ค. @MainActor @propertyWrapper struct UIApplicationDelegateAdaptor where DelegateType : NSObject, DelegateType : UIApplicationDelegate ์ ์ธ์ ์์ ๊ฐ์ด ๋์ด ์๋ ํ๋กํผํฐ ๋ํผ์ด์ฃ ! SwiftUI์ ๋ผ์ดํ ์ฌ์ดํด์ ์ฌ์ฉํ๋ ์ฑ์์ ์ฑ๋๋ฆฌ๊ฒ์ดํธ ์ฝ๋ฐฑ์ ์ฒ๋ฆฌํ๋ ค๋ฉด UIApplic..