SWIFT
-
ScreenShot(Save, Share)์ค๋์ Swift ์์ 2021. 10. 22. 17:32
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป โ๏ธ์คํ๋ฒ ์ค, ๐์นด์นด์คํ์ ๋ฑ ์ฐ๋ฆฌ๊ฐ ์์ฃผ ์ฌ์ฉํ๋ App๋ค์ ์์์ฆ์ ์ ์ฅํด ๋ณด๊ณ ๊ณต์ ํ์ ์ ์์ผ์ ๊ฐ์? ์ ๋ ํ์ฌ์ ์์์ฆ ์ ์ถํ ๋ ๊ทธ ๊ธฐ๋ฅ์ ๋ง์ด ์จ๋ณธ ๊ฒ ๊ฐ์์ใ ใ ใ ใ ๋ฌด์ธ๊ฐ๋ฅผ ๊ตฌ๋งคํ๋ App๋ค์๋ ์ด๋ฐ ๊ธฐ๋ฅ๋ค์ด ์์ฃผ ์ฌ์ฉ๋๋๋ฐ ์ค๋์ ์ด ๊ธฐ๋ฅ์ ๋ํ ๋ด์ฉ์ ๊ณต์ ํ๊ณ ์ ํฉ๋๋นใ ใ ใ ใ ใ ๋ ๊ทธ๋ ๋ฏ ์ฝ๋๋ SwiftUI ๊ธฐ์ค์ด๊ณ , ViewController๋ฅผ ์ฌ์ฉํ์๋ ๋ถ๋ค์ ํ๋จ ์ฝ๋์ View๋ฅผ Extension ํ๋ ๊ณผ์ ์์ด ๋ฐ๋ก UIView์ ์ ์ฉ์ํค๋ฉด ๋ฉ๋๋ค! ๊ทธ๋ผ ์~~~~~์! ScreenShot ์ผ๋จ! ์ฐ๋ฆฌ๊ฐ ์คํฌ๋ฆฐ์ท์ ์ฐ๊ณ ์ ์ฅ๊น์ง ํ ๊ฑฐ๋๊น! ๊ถํ๋ถํฐ ์ค์ ํด์ค์๋ค! Xcode13๋ถํฐ๋ Info.plist๊ฐ TARGETS ๋ด๋ถ๋ก ์ด๋ํ..
-
@AppStorage์ UserDefaults์ค์ ๋ฅผ ์จ๋ด์ ! 2021. 10. 17. 23:20
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป App์ ๊ฐ๋จํ๊ฒ ๊ฐ๋ค์ ์ ์ฅํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ!!๐ค ๋ฐ๋ก๋ฐ๋ก UserDefaults!!! ์ด๋ฒ ์๊ฐ์๋ UserDefaults์ iOS 14๋ถํฐ ์๋ก ์๊ธด SwitUI์ AppStorage์ ๋ํด์ ์์๋ณด๊ฒ ์ต๋๋ค! ์ ๊ทธ๋ผ ํจ๊ป ๋ฝ๊ฐ๋ด ์๋น! UserDefaults Apple์์๋ "App์ ์คํํ๋ ๋์ ์ง์์ ์ผ๋ก key-value๋ก ์ ์ฅํ๋ ์ฌ์ฉ์์ ๊ธฐ๋ณธ Database์ ๋ํ Interface"๋ผ๊ณ ์ค๋ช ์ ํ์ด์! ์ฝ๊ฒ ๋งํด ๋ณ๋์ DB ์์ด App์ ๋ด๊ฐ ์ํ๋ ๊ฐ์ ์ด๋ค Key์ ํจ๊ป ์ ์ฅํ๊ณ , ์ธ์ ๋ ๊ทธ Key๋ฅผ ํตํด ๊ฐ์ ๋ถ๋ฌ๋ผ ์ ์๋ ๊ฒ์ด์ฃ . ๋จ, String, Bool, Int, Array ๋ฑ ๋จ์ผ Data๋ฅผ ์ ์ฅํ๋ ๋ฐ์ ์ ํฉํ๊ธฐ ..
-
NavigationView, NavigationLink์ค์ ๋ฅผ ์จ๋ด์ ! 2021. 9. 26. 02:38
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ด๋ฒ ์ค์ ๋ฅผ ์จ๋ด์ ์๊ฐ์~ iOS App์ ๋ณด๋ฉด TabBar์ ํจ๊ป ์์ฃผ ์ฐ์ด๋ NavigaionView! ๊ทธ๋ฆฌ๊ณ NavigationView์ ์ด๋์ ์ํด ์ฌ์ฉ๋๋ NavigationLink์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. NavigationView์ Bar์ ๋ํ ์ค๋ช ์ ์๋ ์ปค์คํ ๋ฐฉ๋ฒ์ด ๋ง๊ณ ๋ค์ํด์ ๋ฐ๋ก ๋ค๋ค๋ณด๋๋ก ํ ๊ฒ์! ๊ทธ๋ผ ์ผ๋จ ์ด ๋์ ๋จผ์ ํํค์ณ๋ด ์๋ค! ๋จผ์ NavigationView์ ์ ์๋ฅผ ์ดํด๋ณผ๊ฒ์~ Apple Deverloper ์ฌ์ดํธ์์๋ ํ์ ๊ณ์ธต ๊ตฌ์กฐ์์ ๋ณด์ด๋ ๊ฒฝ๋ก๋ฅผ ๋ํ๋ด๋ View์ Stack์ ํ์ํ๊ธฐ ์ํ View ๋ผ๊ณ ์ ์๋ฅผ ๋ด๋ฆฌ๊ณ ์์ต๋๋ค. ์ฌ์ด ์์๋ก ๊ธฐ๋ณธ App์ธ Setting์ ๋ณด์๊ฒ ๋๋ฉด ์ด๋ค ์์๋ฅผ ํฐ์นํ๋ฉด ์์ผ๋ก ์ฑ..
-
QR code - Scan!์ค๋์ Swift ์์ 2021. 9. 21. 16:18
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ง๋ ์๊ฐ์ ์ด์ด์ QR Code Scan!! ์ฐ๋ฆฌ ์๋น์์ ์ฐ๋ ๊ทธ ์ฑ!! ์ง๊ธ ๋ฐ๋ก ๋ง๋ค์ด๋ณด์๊ตฌ์ใ ใ ๋ฐ๋ก ๋ ์ฐ๊ณ ~๐ถ QR Scanner ๋ง๋ค๊ธฐ 1. ์นด๋ฉ๋ผ ๊ถํ ์ฃผ๊ธฐ! Scanner๋ฅผ ๊ตฌํํ๋ ค๋ฉด ์นด๋ฉ๋ผ ์ฌ์ฉ์ ํ์๊ฒ ์ฃ ? ์นด๋ฉ๋ผ ์ฌ์ฉ์ ์ํด์๋ ์ฌ์ฉ์์๊ฒ ๊ถํ์ ํ๋ฝ๋ฐ์์ผ ํ๋๊น Info.plist์์ Privacy - Camera Usage Description์ ์ถ๊ฐํด์ฃผ๊ณ , ๊ถํ ์์ฒญํ ๋ ๋์ฐ๊ณ ์ ํ๋ ๋ฉ์์ง๋ฅผ ์ ๋ ฅํด์ฃผ์ธ์! ๊ทธ๋ผ ์ฑ์ด ์คํ๋์ด ์ต์ด๋ก ์นด๋ฉ๋ผ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ๋ ๊ถํ์ ์์ฒญํฉ๋๋ค! 2. Scanner View ๊ตฌ์ฑํ๊ธฐ ๊ฐ๋จํ๊ฒ View๋ฅผ ๊ตฌ์ฑํด๋ณด๊ฒ ์ต๋๋ค! QRCameraCell(cardNumber: $cardNumber) ๋ถ๋ถ์ด ์นด๋ฉ๋ผ ..
-
QR Code - ๋ง๋ค๊ธฐํธ!์ค๋์ Swift ์์ 2021. 9. 15. 19:14
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ๋งํ ใ ในใด๋๋ฌธ์ ๋๋ฌด ํ๋ ์์ฆ ์ฑ์์ ํนํ๋ ๋ง์ด ์ฐ๋ ๊ธฐ๋ฅ์ด ์๋๋ฐ์~ ๋ฐ๋ก QR์ฝ๋! ๊ฐ์๊ธฐ ๋ ์ฌ๋ผ์ ์ด๋ ๊ฒ ๊ธ์ ์ฐ๊ฒ ๋์์ต๋๋ค! 1ํธ์ ๋ง๋ค๊ธฐ, 2ํธ์ Scan ํ๊ธฐ ์ด๋ ๊ฒ ๊ธ์ ์จ๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ ๋ฐ ใ ในใด ๋ฉ์ถฐ! QR ์ฝ๋ ๋ง๋ค๊ธฐ ๋ง๋๋ ๋ฒ์ ์๊ฐ๋ณด๋ค ๊ฐ๋จํฉ๋๋ค! CoreImage ์์ ์๋ CIFilter๊ฐ qrCodeGenerator()๋ผ๋ Method๋ฅผ ๊ฐ์ง๊ณ ์์ด์ ์ดํ์ ์์ ์ ์ด๋ฏธ์ง ํฌ๊ธฐ๋ง ์กฐ์ ํ๋ ์์ ์ ๊ฑฐ์น๋ฉด ๋๋ต๋๋ค. ์์ธํ ๊ฑด ์๋์ ์ฝ๋๋ก ์ค๋ช ๋๋ฆฌ๋๋ก ํ ๊ฒ์! import SwiftUI import CoreImage.CIFilterBuiltins struct ContentView: View { let context = CICo..
-
Text Attributed์ค์ ๋ฅผ ์จ๋ด์ ! 2021. 9. 13. 01:00
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ด๋ฒ ์๊ฐ์๋ Text๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ์ด์๊ฒ ๊พธ๋ฏธ๋(?) ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณผ๊น ํฉ๋๋ค. ์ด์ ์ Swift์์๋ NSAttributedString์ ์์ํ๋ NSMutableAttributedString Class์ Instance๋ฅผ ์์ฑ ํ ํด๋น Instance์ ์ฌ๋ฌ ์กฐ๊ฑด๋ค์ ๋ฃ์ด์ค ๋ค ์ด๋ฅผ UILabel์ attributedText์ ๋์ ํ๋ ๋ฐฉ์์ผ๋ก Text๋ฅผ ๋ถ๋ถ์ ์ผ๋ก ์์ ํ์ต๋๋ค. ํ์ง๋ง SwiftUI๊ฐ ๋์ค๊ณ ์ผ๋ง์ ์๊ฐ์ด ํ๋ฅธ ๋ค ์ด๋ฐ ๋ฐฉ์๋ ๋ง์ด ๋ฐ๋์๋๋ฐ์! ์ด๋ป๊ฒ ๋ฐ๋์๋์ง ํจ๊ป ๋ด ์๋ค! ๊ธฐ์กด์ NSMutableAttributedString์ ํ์ฉํ ๋ฐฉ์ ๊ธฐ์กด์ ๋ ์ฌ์ฉํ๋ ๋ฐฉ์์ด์์! ViewController์ UILabel์ ์ ์ฉํ๋ ๋ฐฉ์..
-
@State, @Binding, @ObservedObject, @EnvironmentObject์ค์ ๋ฅผ ์จ๋ด์ ! 2021. 9. 5. 02:40
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์์ฆ ์ฑ ๊ฐ๋ฐ์ ๊ฑฐ์ SwiftUI๋ง ์ฐ๊ณ ์๋๋ฐ, ํ์คํ ์ด์ ์ ViewController๋ฅผ ํ์ฉํ ๋ ๋ณด๋ค ์ข์ ์ ์ด ๋๋ฌด ๋ง๋๋ผ๊ตฌ์ใ ใ (์ฌ..์ฌ๋ํด ์ ํ..) ๊ทธ์ค @State. @Binding์ด ๋๋ฌด ํธํด์ ๊ณต์ ํด๋๋ฆฌ๋ ค๊ณ ํฉ๋๋ค! ๋ฐ๋ก ์ค๋ฌด์คํ๊ฒ~ ๋ค์ด๊ฐ๋๋ค! @State, @Binding @State 1. ์ํ๋ก ์ ์ธํ ๋ชจ๋ ์์ฑ์ ์ ์ฅ์๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. 2. ์ํ๊ฐ ๋ณ๊ฒฝ๋๋ฉด View๋ฅผ ๋ค์ ๊ทธ๋ฆฝ๋๋ค. 3. Value Type์ด ์๋๊ณ , Value๋ฅผ ๋ณ๊ฒฝํ๋ ์๋จ์ ๋๋ค. ๊ฐ์ ์ ๊ทผํ๋ ค๋ฉด wrapValue ์์ฑ ๊ฐ์ ๋ฐํํ๋ ๋ณ์๋ฅผ ์ฌ์ฉํด์ ์ ๊ทผ์ ํด์ผ ํฉ๋๋ค! 4. View์ ๋ด๋ถ ๋๋ View์์ ํธ์ถํ Method์์๋ง Access ํด์ผ ํ๊ธฐ ๋๋ฌธ..
-
Protocol 2ํธ (Delegation, Extension, ์์, ํฉ์ฑ)์ค๋์ Swift ์์ 2021. 8. 25. 19:03
์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป Protocol 1ํธ์ ์ด์ด์ ๋ฐ๋ก 2ํธ ์์ํ๊ฒ ์ต๋๋ค! 1ํธ ์๋ ๋งํฌ์ ๋๋ค https://aiden-ios.tistory.com/12 Protocol 1ํธ (Protocol ์ ์ ๋ฐฉ๋ฒ) ์๋ ํ์ธ์. iOS ๊ฐ๋ฐ์ ์์ด๋ ์ ๋๋ค!๐ฆ๐ป ์ด๋ฒ ์๊ฐ์ Protocol์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค! ์ด๋ฒ ์๊ฐ์ ๋ด์ฉ์ด ์ข ๋ง์์. ๊ทธ๋์ 1,2ํธ์ผ๋ก ์งํํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋ฐ๋ก ๊ทธ๋ฅ ๋ค์ด๊ฐ์์ฃ ~ Protocol์ aiden-ios.tistory.com ์ค๋น๋๋์? 2ํธ ๋ฐ๋ก ๊ผฌ์ฐ!! Delegation(์์) Class๋ Struct์ Instance์ ํน์ ํ์์ ๋ํ ์ฑ ์์ ๋๊ธฐ๋ ๋์์ธ ํจํด ์ค ํ๋์์. Delegation ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ ์ ์๋๋ก Delegatio..