728x90

Swift/학습 24

[Swift] Photos Library 사진 선택, 최초 진행 시 시스템 Alert 표시 중지

안녕하세요! 이번 글에서는 Photos Library 사용 시 처음 권한에서 [사진 선택], [모든 사진], [허용 안 함] 중 사진 선택을 진행하게 되는 경우, 앱을 최초 진행 시 매번 확인 Alert가 출력되는 것을 중단시켜 보도록 하겠습니다. 1. 권한 기기의 앨범에 접근하기 위해서는 Photos Library 를 사용하게 되는데 이때 Permission Alert가 출력되게 됩니다. 여기서 [사진 선택...] 을 선택하면 기기의 사진을 선택할 수 있고 해당 사진만 노출할 수 있게 됩니다. 2. 제어 문제는 매번 앱 실행 시 마다 아래와 같은 Alert 가 출력이 되는데 사용자 입장에서는 매번 누르는 것이 싫다고 느낄 수 있습니다... 때문에 이 Alert 을 한 번 중단시켜 보겠습니다!! 중단시키..

Swift/학습 2022.05.01

[Swift] CaseIterable에 대해 알아보자!

이번 글에서는 CaseIterable에 대해 알아보겠습니다. 간혹 열거형 Enum 을 사용 중 전체적인 케이스를 얻고 싶을 때 사용하면 유용합니다! (0_0) 1. CaseIterable이란? CaseIterable 은 선언한 열거형의 모든 값을 컬렉션을 제공하는 프로토콜입니다. https://developer.apple.com/documentation/swift/caseiterable Apple Developer Documentation developer.apple.com 2. 사용 한 번 예시를 통하여 확인해 보겠습니다! CaseIterable 을 사용하면 컬렉션 형태로 열거형의 값들을 사용할 수 있게 됩니다. 전체적인 케이스 별로 동작을 진행할 경우, 혹은 페이지를 사용할 경우 등 활용하면 좋을 것..

Swift/학습 2022.01.17

[Swift] UIAlertController 안에 CustomView 를 넣어보자!

이번 글에서는 표준 UIAlertController 안에 커스텀 뷰를 넣어보는 작업을 진행해 보겠습니다. 네... 별로 사용할 경우는 없을 것 같습니다. 무리해서 띄우는 것보다 이쁘게 커스텀을 만드는 것이 좋다고 생각합니다. 저 같은 경우는 이전 회사에서 요구해서 살짝 한 번 다뤄봤었는데 오랜만에 기억이 나서 공유드리겠습니다 (0_0) 1. Alert 만들어 보기 간단한 Alert 을 만들어 보겠습니다. let alert = UIAlertController(title: "Test", message: "Message", preferredStyle: .alert) let action = UIAlertAction(title: "Confirm", style: .default) alert.addAction(act..

Swift/학습 2022.01.13

[Swift] UIScrollView 코드로 작성해보기

이번 글에서는 UIScrollView 에 대해 간단히 알아보겠습니다. 단, 코드로만 작성해서 한 번 UIScrollView 를 이해해 보겠습니다. (ㄱ_ㄱ) 1. UIScrollView? 스크롤 뷰는 활용도가 높으나 사용에 있어 까다로운 축에 속한다고 생각합니다. (0_0) 스크롤 뷰를 사용에 있어 아래와 같은 조건을 맞추어 주어야 합니다. 스크롤 뷰 내부에 컨텐츠를 담을 컨텐츠 뷰 필요 컨텐츠 뷰의 사이즈를 명확히 지정 https://developer.apple.com/documentation/uikit/uiscrollview Apple Developer Documentation developer.apple.com 2. 사용할 뷰 선언 저는 컨텐츠 뷰를 스택 뷰로 설정하여 간단하게 작성해 보겠습니다. ..

Swift/학습 2022.01.11

[Swift] @IBInspectable, @IBDesignable 에 대해

이번 글에서는 storyboard, .xib 개발을 진행하면서 디자인을 작업할 때 인터페이스 빌더에서 실시간으로 디자인을 렌더링 할 때 사용하는 @IBInspectable, @IBDesignable 에 대해 알아보겠습니다. 1. @IBInspectable이란? 첫 번째로 @IBInspectable 입니다. IB는 (Interface Builder) 이고 Inspectable은 (Inspector) 탭 부분을 의미합니다. 프로젝트를 생성하면 각 아이템에 대한 속성들의 집합이죠 (0_0) 2. 커스텀 뷰 생성 자 이제 @IBInspectable 를 한 번 사용해 봅시다. 우선 가볍게 프로젝트를 생성하고, 적당히 뷰를 생성하겠습니다. 저는 잘 보이게 중앙에 빨간 뷰를 하나 넣어 주었습니다. 그러고 나서 @IB..

Swift/학습 2022.01.10

[Swift] 연산 시간 측정

이번 글에서는 함수의 연산 시간 측정을 간단히 진행해 보는 법에 대해 알아보겠습니다. 개발을 진행하다가 보면 어디서 시간이 많이 소요되는지 확인하고 최적화를 시키기 위해 수정하고 수정하고 수정해나아가는데 간단하게 얼만큼 시간이 소요가 되는지 체크해볼 수 있는 것이 바로 'CFAbsoluteTimeGetCurrent' 입니다. 1. 사용해보기 CFAbsoluteTimeGetCurrent 의 사용법은 매우매우매우 간단합니다. 측정 시작 부위에 CFAbsoluteTimeGetCurrent 를 생성하고 종료 시점에 시작 지점에서 생성했던 값을 빼주면 간단히 어느정도인치 측정이 됩니다!! (0_0) var checkTime = CFAbsoluteTimeGetCurrent() for index in 0...100 ..

Swift/학습 2021.12.27

[Swift] discardableResult 에 대해 알아보자!

개발을 하다 보면 여러가지 함수를 만들게 되는데 한 함수에 대해서 상황에 따라 쓰게되면 return 값이 필요한 경우가 있고 또 필요 없느 경우가 있습니다. 그럴때 Swift 에서 주로 사용하는 방법이 변수를 설정하지 않거나 @discardableResult 를 사용해서 해결하곤 합니다. 이번 글은 그 중에 discardableResult에 대해 간단히 알아보고자 합니다. 1. 변수를 설정하지 않고 사용해보기 우선 간단한 함수를 만들어 보겠습니다. 단순히 10과 20을 더하는 함수입니다. let a = 10 let b = 20 func sum() -> Int { return a+b } 여기서 함수만을 반환값을 받지 않고 함수 내부만 실행하고 싶을 경우 아래와 같이 사용하실 수 있습니다. let _ = s..

Swift/학습 2021.12.08

[Swift] iOS 로컬라이징을 한 번 알아보자!

이번 글에서는 로컬라이징에 대해서 알아보겠습니다. 로컬라이징이란 간단히 설명해드리자면 현지화, 즉 다국적 버전으로 제작하여 여러 나라에서 대응이 가능한 것을 나타냅니다. 개인적으론 App도 많이 국제화가 되어있기 때문에 외국인들도 사용하기 편하게 하기 위해서는 필수적인 요소라고 생각합니다. (저 같은 경우는 지금까지 참여한 App 전부가 이 로컬라이징을 진행하였습니다.) 그렇다면 이번 글을 통해서 어떤 식으로 하면 되는지 간단히 알아보고자 합니다. 1. Localizable.strings 파일 생성 우선 프로젝트 생성 후 Strings 파일로 Localizable.strings 파일을 추가해 줍니다. 2. 언어 추가 이제 언어를 추가해보는 작업을 진행해 보겠습니다. 우선 추가한 Localizable.st..

Swift/학습 2020.06.23

[Swift] iOS App의 LifeCycle에 대하여 알아보자!

이번 글에서는 App의 생명 주기에 대하여 알아보겠습니다. 저도 어떤 식으로 동작하는지 잘 몰라 이번 기회로 많은 것을 알아볼 수 있는 기회가 되었습니다. App의 생명 주기란? App이 실행되어 종료까지의 과정이라고 합니다. 크게 App이 보이지 않는 상태인 Background상태와 App이 화면에 출력되어지고 있는 Foreground상태로 나눌 수 있습니다. 1. 앱 실행 그렇다면 App을 실행할 시 내부에서는 어떠한 동작이 진행되고 있는지 한 번 알아보겠습니다. UIApplication의 생성 Event Loop 에서 발생한 여러 Event 를 감지, AppDelegate에 전달해 줍니다. @UIApplicationMain 어노테이션이 있는 클래스를 찾아 AppDelegate 클래스를 생성 프로젝트..

Swift/학습 2020.06.22

[Swift] iOS ViewController의 LifeCycle에 대하여 알아보자!

이번 글에서는 ViewController의 생명 주기에 대하여 알아보겠습니다. 개발을 하면서 대충 어떤 식으로 움직이는지 어느 상황에 사용할지 정도는 알고 있었지만 정확히 어떠한 역할을 수행할 수 있는지 자세히 알아본 적은 없었던 것 같아 이번 기회에 알아보았습니다. 아래는 Apple Develop 에서 나타낸 ViewController의 생명 주기도입니다. Appearing -> Appered -> Disappearing -> Disappeared -> ... repeat와 같이 되어 있는 것을 보아서 크게 나타나는 중의 처리, 나타난 후의 처리, 사라지는 중의 처리, 사라진 후의 처리로 나뉘는 것을 알 수 있습니다. 그렇다면 이제 하나하나 어떠한 역할을 수행하고 어떠한 상황에 사용이 되는지 아래와 같..

Swift/학습 2020.06.22
728x90