ios
-
์ถ์ํ์ ๋คํ์ฑSwift 2023. 12. 11. 19:35
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ถ์ํ์ ๋คํ์ฑ์ ๋ํด ์๊ธฐํด๋ณผ๊น ํฉ๋๋ค ๐๐ป ๋ค๋ค ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ, ์ฆ OOP๋ผ๊ณ ๋ถ๋ฆฌ๋๊ฒ์ ๋ํด ํน์ง์ ์๊ณ ์์๊ฑฐ์์. ์ถ์ํ, ๋คํ์ฑ, ์บก์ํ, ์์ ๊ทธ ์ค์์ ํด๋น ํฌ์คํ ์์๋ ์ถ์ํ์ ๋คํ์ฑ์ด๋ผ๋๊ฒ์ ๋ํด ํ๋ฒ ์ ๋ฆฌํ๊ณ ๋์ด๊ฐ๋ณด๊ฒ ์ต๋๋ค. ์ฒ์ ๊ฐ์ฒด ์งํฅ์ด๋ผ๋ ๊ฐ๋ ์ ์ ํ์ค ๋ ์๊ทผํ ๋ง์ด ํท๊ฐ๋ คํ์๋ ํฌ์ธํธ์ธ๊ฒ ๊ฐ์์ ์ต๋ํ ์ฝ๊ฒ ํ์ด๋ณด๋ฉด์ ์ ๋ฌ ํด๋ณด๊ณ ์ถ์ด์ ์ด๋ ๊ฒ ํฌ์คํ ์ ์ฐ๊ฒ ๋์์ต๋๋คใ ใ ํน์ OOP์ ๋ํด ๋ฌด์์ธ์ง ์ฒ์ ๋ค์ด๋ณด์ ๋ค๋ฉด ์ฐ์ ๋ค๋ฅธ ๋ฌธ์๋ค์ ๋จผ์ ์ฐธ๊ณ ํ๊ณ ์ค๋๊ฒ์ด ๋ ๋์์ด ๋ ๊ฒ ๊ฐ์์! (๋์ค์ ์ฌ์ ๊ฐ ์์ผ๋ฉด OOP๋ ํ๋ฒ ์ ๋ฆฌํด๋ณผ๊ป์ ๐) ๊ทธ๋ผ ์ถ์ํ์ ๋คํ์ฑ ์์๋ณผ๊น์? ์ถ์ํ Abstraction์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฐ์ฒด์งํฅ..
-
Core Data ํํค์น๊ธฐ ๐iOS 2023. 12. 7. 19:15
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ iOS์ Core Data์ ๋ํด ํ๋ฒ ํํด์ณ๋ณด๋ ค๊ณ ํฉ๋๋ค ๐๐ป ์ ํํค์น๊ธฐ๋ก ํด๋ดค๋์ง? ์์ฃผ ์ค๋์ ์..? ๊ฑฐ์ ์ฒ์ iOS๋ฅผ ๋ฐฐ์ธ๋ Core Data๋ฅผ ํ์ตํ๋ฉด์ ํด๋น ๋ธ๋ก๊ทธ ํฌ์คํ ์ผ๋ก ๊ธฐ์ฌํ์ ์ด ์๋๋ผ๊ตฌ์ ๐ฎ CoreData ์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค! ์ด๋ฒ ํฌ์คํ ์์๋ CoreData(์ฝ์ด๋ฐ์ดํฐ)์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค..! ์ฐ์ ์ฝ์ด๋ฐ์ดํฐ๋ผ๋๊ฑธ ์๊ธฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํด ์์๋ณด๊ณ ์ฐจ๊ทผ์ฐจ๊ทผ ๋์ด๊ฐ๊ฒ ์ต๋๋คโบ๏ธ 1. ๋ฐ์ด green1229.tistory.com ๊ทธ๋์ ์ฐธ๊ณ ์ฐจ ๋ณด๋ คํ๋๋ฐ, ํฐ ํ์ ๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๋ค ์์ฃผ๋ก ๋์ด ์์ด์ ์ค์ ๋ธ๋ก๊ทธ๋ง ๋ณด๊ณ ์ ์ฉ์ด ์ด๋ ค์ ์ด์. ์ ๋ธ๋ก๊ทธ๋ ์ฝ์ด ๋ฐ์ดํฐ์ ๊ด๊ณํ DB์ ๊ฐ๋ ์ค๋ช ์ ์ด์ ์ ๋ง์ถฐ์ ์ด๋ฌํ ๋ ์์ด๋ค~ ์๊ฐ์์ต..
-
์๋ ๋ฌธ์ ๊ฒฐํฉ ๋ฐฉ์งํ๊ธฐiOS 2023. 11. 30. 09:57
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ iOS ๊ฐ๋ฐ ์ ์๋ ๋ฌธ์ ๊ฒฐํฉ์ ๋ฐฉ์งํด๋ณด๋ ๊ตฌํ์ ํ๋ฒ ์ฝ์งํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ด์ฉ๋ค ์ด๊ฑธ ํฌ์คํ ํ๊ฒ ๋์์ง? ์ผ๋จ ์ฌ๊ฑด์ ์ ๋ง์ ์ด๋ฌํฉ๋๋ค. ํ ์คํธํ๋๊ฐ ์ฃผ์ด์ง๊ณ ์ต๋ ๊ธ์์๋ 8๊ธ์๊น์ง๋ง ๋ฐ์ผ๋ ค๊ณ ํฉ๋๋ค. ๊ทธ๋ ๊ธฐ์ ํ ์คํธ ํ๋์์ ์ ๋ ฅ๋์ด ๋ง๋ค์ด์ง ํ ์คํธ String์ count๊ฐ ์ด 8์ ๋๋์ง ํ๋จํด์ผ๊ฒ ์ฃ ? ์, ์๋์ ๊ฐ์ ์ฝ๋๊ฐ ์๋ค๊ณ ๊ฐ์ ํด๋ด ์๋ค. import UIKit class ViewController: UIViewController, UITextFieldDelegate { let textField = UITextField(frame: CGRect(x: 20, y: 100, width: 300, height: 40)) let button = ..
-
SwiftUI์์ VoiceOver ์ฌ์ฉํ๊ธฐSwiftUI 2023. 11. 23. 10:25
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ SwiftUI์์ VoiceOver๋ฅผ ์ ์ฉํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๋ คํฉ๋๋ค ๐๐ป ์ด๋ฒ ํฌ์คํ ์์๋ VoiceOver๊ฐ ๋ฌด์์ด๊ณ SwiftUI์์ ์ด๋ป๊ฒ ์ ์ฉ ๋ฐ ์ฌ์ฉ๋๋์ง ์์๋ณด๊ณ ์ด๋ค ๋ชจ๋ํ์ด์ด๋ค์ด ์ฌ์ฉ๋ ์ ์๋์ง ์์๋ณผ๊ป์ ๐ ๊ทผ๋ฐ ๊ฐ์๊ธฐ VoiceOver๋ฅผ ์? ํค์ค์คํฌ ๋ฐ ๋ชจ๋ฐ์ผ์ฑ ์ฅ์ ์ธ ์ ๊ทผ์ฑ ์ ๊ณ ๋ฅผ ์ํ ์ ๋นํ ํธ์ ์ ๊ณต < ์ ์ฒด < ๋ณด๋์๋ฃ < ๋ณด๋์ ๋ชจ๋ ๊ตญ๋ฏผ์ ๊ฑด๊ฐ, ์ถ์ ์ง ํฅ์์ ์ํด ๋ ธ๋ ฅํ๋ ๋ณด๊ฑด๋ณต์ง๋ถ ํํ์ด์ง์ ๋๋ค. www.mohw.go.kr ์ ๋ถ์์ ํ๋ผ๊ณ ํฉ๋๋คใ ์์ฝํ์๋ฉด ์ด๋ ์ต๋๋ค. ใ๋ชจ๋ฐ์ผ์ฑใ โ ๋ชจ๋ฐ์ผ์ฑ์ ์ค๋งํธํฐ, ์ค๋งํธํจ๋, ์ค๋งํธ์์น ๋ฑ ๋ชจ๋ฐ์ผ๊ธฐ๊ธฐ์ ํ์ฌ๋๋ ์์ฉ์ํํธ์จ์ด๋ก, ํค์ค์คํฌ์ ๋ง์ฐฌ๊ฐ์ง๋ก ๊ณ ์์ ๋ฐ๋ฅธ ์ ..
-
ATS (App Transport Security) ํบ์๋ณด๊ธฐiOS 2023. 11. 14. 10:04
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ App Transport Security๋ผ๊ณ ๋ถ๋ฆฌ๋ ATS์ ๋ํด ์์๋ณด๊ณ ์ฐ๋ฆฌ ํ๋ก์ ํธ์์ ์ค์ ํ๋ ํ์ต์ ํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ ATS๊ฐ ๋ฌด์์ธ์ง ๊ณต์๋ฌธ์๋ฅผ ํตํด ํ์ตํด๋ณผ๊น์? ATS? ํ๋ ๋จผ์ ์๊ณ ๋์ด๊ฐ๋ฉด ์ข์๊ฒ์ด ์์ต๋๋ค. ๋ฐ๋ก ์๋ฒ์ ํต์ ํ ๋ HTTP๋ก ํต์ ์ ํ๋ฉด ์ ์ก ๋ณด์ ์ด์๋๋ฌธ์ ์ฐ๊ฒฐ์ด ๋์ง ์์ต๋๋ค! ์ด๊ฒ์ ATS๊ฐ ๊ด์ฌํ๋๊ฑด๋ฐ์. ์ฆ, ์ ํ ํ๋ซํผ์์ ATS๋ผ๋ ๋คํธ์ํน ๊ธฐ๋ฅ์ ๋ชจ๋ ์ฑ๊ณผ ์ฑ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ํด ๊ฐ์ธ ์ ๋ณด ๋ณดํธ์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ํฅ์์์ผ์ค๋๋ค. ์ฝ๊ฒ ๋งํด๋ณด๋ฉด ์ ํ์ ๋คํธ์ํฌ ๋ณด์ ๊ธฐ๋ฅ์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค ๐ ATS์์ ์์ ๋งํ๋ฏ์ด URLSession ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ ์ฆ, ๋ชจ๋ URL ๋ก๋ฉ ์์คํ ์์๋ ๋ชจ๋ HTTP..
-
์ธ์ฑ๋ฆฌ๋ทฐ(In-App Review) ์ฐ๋ํ๊ธฐiOS 2023. 11. 9. 10:02
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ธ์ฑ๋ฆฌ๋ทฐ(In-App Review) ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป ์ฐ์ ์ธ์ฑ๋ฆฌ๋ทฐ๊ฐ ๋ฌด์์ธ์ง ๋ถํฐ ์์๋ณด๊ฒ ์ต๋๋ค. ์ธ์ฑ๋ฆฌ๋ทฐ (In-App Review) ์ธ์ฑ๋ฆฌ๋ทฐ๋ ์ฐ๋ฆฌ๊ฐ ์ ๊ณตํ๋ ์ฑ ์์์ ์ฑ์ ์ฑ์คํ ์ด ํ์ ๋ฐ ๋ฆฌ๋ทฐ๋ฅผ ๋จ๊ธธ ์ ์๋๋ก ์์ฒญํ๋ ๊ธฐ๋ฅ์ ๋๋ค. ์ฆ, ๋ง์ด๋ค ์ฑ์ ์ฌ์ฉํ๋ค๋ณด๋ฉด ์ด ์ฑ์ ํ์ ์ ๋จ๊ฒจ๋ฌ๋ผ๋ ํ์ ์ด ๋ฐ ๊ฒฝ์ฐ๋ฅผ ์ข ์ข ๋ณธ์ ์ด ์์ผ์ค๊ฑฐ์์. ์ฝ๊ฒ ๋งํด, ์ฑ ๋ด์์ ํ์ ๊ณผ ๋ฆฌ๋ทฐ๋ฅผ ์์ฒญํ๋ ๊ธฐ๋ฅ์ด๋ผ๊ณ ์ ๋ฆฌํ ์ ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ์ด ์ธ์ฑ๋ฆฌ๋ทฐ์ ์ฝ๋๋ฅผ ์ฌ์ด์ฃผ์ด๋ ์ธ์ฑ๋ฆฌ๋ทฐ๋ฅผ ๋์ฐ๋ ๊ฒฐ์ ์ ์ ํ ๋ด๋ถ ์์คํ ์์ ํด์ฃผ๊ธฐ์ ๊ฐ๋ฐ์๊ฐ ์ง์ ์ปจํธ๋กคํ ์ ์๋ ๋ถ๋ถ๋ค์ด ๋ง์ต๋๋ค ๐ฅฒ ์ธ์ฑ๋ฆฌ๋ทฐ์ ํน์ง๋ค์ ์กฐ๊ธ ์ดํด๋ณผ๊น์? ์ธ์ฑ๋ฆฌ๋ทฐ ํน์ง 1๏ธโฃ ์์คํ ์ ์ผ๋ก..
-
๋ฉ์์ด ์ฌ์์ฒ๋ผ์์ iOS ์ทจ์ ํ ํฌ์ผ ์ถ์ฐ ํ๊ณํ๊ณ 2023. 11. 6. 11:45
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ ์ ๋ง ์ค๋๋ง์ ํ๊ณ ์ฐ์ ํ๋ ํ๊นํด์ ๐๐ป ๋ฐ๋ก ๋ฉ์์ด ์ฌ์์ฒ๋ผ iOS ๊ฐ๋ฐ์ ์ทจ์ ์ ๋ํด ๊ฐ์๊ฐ ์๋ ๋ผ์ด๋ธ ํ ํฌ์ผ์ ์ถ์ฐํ๊ณ ์์ต๋๋ค! ์ด ๋๋ฒ ๋ผ์ด๋ธ ํ ํฌ์ผ๋ฅผ ํ๋๋ฐ ํ๋๋ 9์์ ํ๋๋ 10์์ ์งํํ์ด์. ์งํํ์ง ์๊ฐ์ด ์ข ๋์๋๋ฐ ์ด์ ์ผ ํ๊ณ ์ฐ์ ํ์ด๋ณด๋ ์ ๋ฅผ ๋ฐ์ฑํด๋ณด๋ฉฐ... ๐ฅฒ ํ๋ฒ ๋์์์ด ์ค๊ตฌ๋๋ฐฉ์ผ๋ก ํ๊ณ ์ฐ์ ํ์ด๋ณผ๊น ํฉ๋๋ค! ์ด๋ป๊ฒ ์ฃผ๋์ด์ธ ๋ด๊ฐ iOS ์ทจ์ ์ ๊ดํด ํ ํฌ๋ฅผ ํ๊ฒ ๋์๋๊ฐ..? ์ฒ์ ๋ฉ์์ด ์ฌ์์ฒ๋ผ์์ iOS ์ฑ์ค์ฟจ ์ด์์ ๋ด๋นํ์๋๋ถ๊ป์ ์ฐ๋ฝ์ด ์์ต๋๋ค ๐ ์๋ฌํ ์ฃผ์ ๋ก ์๋ฐ๊ฒ์ ๋ฉ์์ด ์ฌ์์ฒ๋ผ ์ ํ๋ธ ์ฑ๋์์ ํด๋ณผ ์๊ฐ์ธ๋ฐ ๊ด์ฌ์ด ์๋์งํ๊ณ ๋ง์ด์ฃ . ์ผ๋จ ์๋์์๋ ๋งํ๋ฏ์ด ๊ฐ์๊ฐ ์๋์์ต๋๋ค! ์ ๊ฐ ๊ฒฝ๋ ฅ์ด ๋ง์๊ฒ๋ ์๋..
-
rethrows๋ก ์๋ฌ๋ฅผ ๋ค์ ๋์ ธ๋ณด์ ๐ฅSwift 2023. 11. 3. 09:34
์๋ ํ์ธ์. ๊ทธ๋ฆฐ์ ๋๋ค ๐ ์ด๋ฒ ํฌ์คํ ์์๋ Swift์ rethrows์ ๋ํด ํ๋ฒ ํ์ตํด๋ณด๊ฒ ์ต๋๋ค ๐๐ป rethrows? ์ฐ์ rethrows๊ฐ ๋ญ๊น์? throws๋ผ๋๊ฒ์ ๋ค๋ค ์๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค. ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์๋ ์ํฉ์์ ์๋ฌ๋ฅผ catchํ์ฌ ์๋ฌ๋ฅผ ๋ค๋ฅธ์ชฝ์์ ์ฒ๋ฆฌํ ์ ์๋๋ก ๋๊ฒจ์ฃผ๋๊ฒ ์ฝ๊ฒ ๋งํด ๋์ ธ์ฃผ๋ ์๋ฏธ์ฃ ? ๊ทธ๋ฐ ๊ด์ ์์ rethrows๋ re + throws์ ๋๋ค. ์ฆ, ๋ค์ ๋์ ธ์ฃผ๋๊ฒ์ธ๋ฐ ๋ ์ฝ๊ฒ ํํํด๋ณด๋ฉด ๋๊ฒจ์ง ์๋ฌ์ ๋ํด ๋ ๋ค๋ฅธ์ชฝ์ผ๋ก ๋๊ฒจ์ฃผ๋๊ฒ์ด๋ผ๊ณ ๋ณผ ์ ์์ด์! ํ .... ๋ง๋ก๋ ์ฌ์ค ๋ณต์กํด๋ณด์ด๊ณ ์ดํด๊ฐ ์๊ฐ ์ ์์ต๋๋ค. ์ผ๋จ ์ฐ๋ฆฌ๊ฐ ์ข์ํ๋? ์ฝ๋๋ก ์ฝ๊ฒ ํ์ธํ๊ธฐ ์ ์ rethrows๋ฅผ ๋ฑ ๊ตฌ๋๋ก ํ์ด์ ์ ์ํด๋ณด๊ณ ๊ฐ์์ฃ ๐ ๊ณต์๋ฌธ์์์๋ rethrows๊ฐ ํจ..