오늘의 Swift 상식
-
ScreenShot(Save, Share)오늘의 Swift 상식 2021. 10. 22. 17:32
안녕하세요. iOS 개발자 에이든입니다!👦🏻 ☕️스타벅스, 🚕카카오택시 등 우리가 자주 사용하는 App들의 영수증을 저장해 보고 공유하신 적 있으신가요? 저는 회사에 영수증 제출할 때 그 기능을 많이 써본 것 같아요ㅎㅎㅎㅎ 무언가를 구매하는 App들에는 이런 기능들이 자주 사용되는데 오늘은 이 기능에 대한 내용을 공유하고자 합니당ㅋㅋㅋㅋㅋ 늘 그렇듯 코드는 SwiftUI 기준이고, ViewController를 사용하시는 분들은 하단 코드에 View를 Extension 하는 과정 없이 바로 UIView에 적용시키면 됩니다! 그럼 시~~~~~작! ScreenShot 일단! 우리가 스크린샷을 찍고 저장까지 할 거니깐! 권한부터 설정해줍시다! Xcode13부터는 Info.plist가 TARGETS 내부로 이동했..
-
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..
-
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..
-
Protocol 1편 (Protocol 정의 방법)오늘의 Swift 상식 2021. 8. 16. 18:19
안녕하세요. iOS 개발자 에이든입니다!👦🏻 이번 시간은 Protocol에 대해 알아보겠습니다! 이번 시간은 내용이 좀 많아요. 그래서 1,2편으로 진행해보려고 합니다. 바로 그냥 들어가시죠~ Protocol은 쉽게 말해 청사진이라고 볼 수 있어요. Property나 Method를 정의하여 해당 Protocol을 채택하면 내부만 바로 구현을 하는거죠! Protocol의 특징은 다음과 같습니다. 1. Struct, Class, Enum은 Protocol을 채택해서 특정 기능을 실행하기 위한 Protocol의 요구사항을 실제로 구현할 수 있습니다. 2. Protocol은 정의를 하고 제시를 할 뿐 스스로 기능을 구현하지는 않습니다. (조건만 정의) 3. 하나의 Type으로 사용되기 때문에 아래와 같이 Typ..
-
Class의 상속오늘의 Swift 상식 2021. 8. 15. 21:07
안녕하세요. iOS 개발자 에이든입니다!👦🏻 오늘은 Class의 상속에 대해서 알아볼게요! 상속이라는 개념은 다른 언어들에서도 많이 있는 개념인데요 과연 Swift에서는 어떨지 같이 알아보도록 합시다! 시작!!! 자 먼저 상속의 개념에 대해 설명드릴게요. 상속이란 한 Class가 가지고 있는 Property와 Method를 다른 Class에게 그대로 승계해주는 것을 말합니다. Swift에서의 상속은 어떤지 볼까요? 1. Class에만 있고, Struct에는 없습니다. 2. 자식 Class가 부모 Class로부터 기능을 물려받는 것 3. 승계해주는 Class는 보통 부모/슈퍼/상위 Class라고 부릅니다. 4. 승계받는 Class는 보통 자식/서브/하위 Class라고 부릅니다. 5. 상속받은 Class도 ..
-
Initializer 2편 (Class의 Initializer)오늘의 Swift 상식 2021. 8. 8. 22:48
안녕하세요. iOS 개발자 에이든입니다!👦🏻 지난 시간 값 타입의 Initializer에 대해서 알아보았죠? 이어서 바로 Class의 Initializer에 대해 알아보도록 하겠습니다! 빠르게 들어가 봅시다~ Class의 Initializer에는 다음과 같은 조건이 있어요! Class는 본인이 가지고 있는 Property 뿐만 아니라 부모 Class에서 상속된 Property들도 초기값들을 지정해줘야 합니다! 훨씬 복잡해지죠? 그래서 Class는 다른 Type에는 없는 Initializer들이 있답니다! Class만이 가지는 Initializer Designated Initializer 흔히 보는 기본적인 Initializer에요! 부모 Class의 Initializer를 호출할 수 있어요. Class ..
-
Initializer 1편 (Struct의 Initializer)오늘의 Swift 상식 2021. 8. 8. 00:48
안녕하세요. iOS 개발자 에이든입니다!👦🏻 이번 시간은 Initializer에 대해 알아보겠습니다! 처음 객체를 생성할 때 쓰이는 아주 중요한 녀석이죠! 지난 시간에 Struct, Class에 대해서 알아보셨죠? 이 둘은 Initializer를 쓰는 법도 조금 다르답니다. 자 그럼 Initializer 첫 번째 시간! Initiazlier의 기본 부터 Struct의 Initializer까지 한번 알아봅시다 따라오시죠!!! 일단 초기화의 개념에 대해 먼저 알고 가보죠 쉽게 말해 공장 초기화 아시죠? 초기에 이 상품이 나올 때의 상태로 세팅하는 것과 같다고 보시면 될 것 같아요! 공장에서 나오는 제품처럼 Class, Struct, Enum 등의 Instance를 처음 생성할 때 필요한 값들을 넣어주는 과정..