앱개발 6

[Objective-C] Variables and constants / Paul Hudson의 Objective-C cheat sheet

1. Variables and constants (1) Variable (2) Constant (3) Variable array (4) Constant array (5) Adding a value type to an array (6) Dictionary (7) Enum (8) Appending a string (9) Adding to a number (10) String interpolation (11) Printing debug information 참조: https://www.hackingwithswift.com/articles/114/objective-c-to-swift-conversion-cheat-sheet Objective-C to Swift conversion cheat sheet Here..

iOS/Objective-C 2023.04.08

[iOS / UIKit] How to use PreviewProvider in UIKit

How to use PreviewProvider in UIKit 안녕하세요! 오늘은 UIKit에서 PreviewProvider를 사용하는 방법을 알아봅시다! PreviewProvider는 SwiftUI에서만 사용할 수 있는 게 아닌가 생각하실 수 있겠지만 UIKit에서도 활용할 수 있습니다! 일단 사진부터 보시죠! PreviewProvider 부분만 확대해서 다시 보여드리겠습니다! 전체 코드도 보여드리겠습니다! UIKit 상황에서 개발한다고 하더라도 PreviewProvider를 활용하시려면 반드시 SwiftUI를 import 해주셔야 합니다! 맥북 성능에 따라 PreviewProvider를 사용하시는 게 시뮬레이터나 실기기를 활용하는 것보다 유리할 수도 있고, 그러지 못할 수도 있으니 현재 상황에 맞춰..

iOS/UIKit 2023.02.12

[Swift] 맵 삼형제(map, flatMap, compactMap)에 대해 알아봅시다

(1) map 애플 개발자 홈페이지에 있는 map에 대한 설명입니다. 배열 내부의 요소들을 매핑해서 돌려준다네요! 그런데 mapping이 뭘까요? 구글에 물어봅시다. 역시 명쾌하다! 구글! 여기 말고 이번에는 해시넷에서 봅시다(블록체인 관련된 정보들이 참 많습니다). 아까보단 훨씬 낫죠? 그래도 이해가 잘 안 될 수 있습니다. 코드로 보시죠! 바로 감이 오시나요? numbers 배열의 각 요소에 1을 더한 애들을 배열에 담아 보여 줍니다. 다른 예시를 한 번 들어볼까요? 아까 사용했던 numbers를 그대로 사용하는데, 이번에는 numbers 내부의 각 요소를 String 타입으로 활용해봤습니다. 이렇게 축약해서 쓸 수도 있습니다. 이번에는 한 번 스까서 써볼까요?? numbers의 각 요소에 3을 더한..

iOS/Common 2022.06.10

[Swift] final 왜 막 갖다 붙이나요? (feat. vtable, dynamic dispatch)

우리가 코드를 짜다 보면 이렇게 final 키워드를 붙여서 쓰는 경우가 있잖아요?(반박할 시 코 쓱 닦음) 다른 사람들이 쓰니까 일단 따라 쓰긴 하는데, 이거 왜 쓰는 걸까요? Swift의 LANGUAGE GUIDE 중 Inheritance 항목의 내용을 보시면 final에 대한 설명이 나옵니다. (발 번역 주의) “여러분은 final 키워드를 메소드나 프로퍼티, 또는 서브스크립트 앞에 사용함으로써 오버라이드 되는 것을 막을 수 있습니다. (예시: final var, final func, final class, final subscript). final을 써놓고 오버라이드를 하려고 하면 컴파일 에러가 발생합니다. extension을 사용하는 경우에도 final 키워드를 사용할 수 있습니다. (이하 생략)..

iOS/Common 2022.06.06

[Code Snippet] private lazy var 쓰다가 팔 부러질 것 같을 때 보는 글

앱을 개발하는 과정에서 자연스럽게 많이 쓰게 되는 코드들이 있습니다. 제목에 써 놓은 'private lazy var' 외에도 여러분들 각자 상황에 따라 유독 자주 사용하는 코드가 있을 것입니다! 그럴 때 Xcode에서 제공하는 Create Code Snippet 한 번 사용해보시는 건 어떨까요?! 자 자 바로 시작합시다! 지금 보시는 화면이야 예시를 들기 위해서 세 개의 Label만 추가한 상황이지만, 실제로 앱을 만드는 과정에서는 다양한 종류의 UI Component들을 활용하는 경우가 많지요! 이런 상황에서 반복적으로 사용하게 되는 코드들을 복사해 놨다가 다음번에 붙여 넣기 하는 방법도 있겠지만, 좀 더 그럴싸한 방법이 있습니다! 보시면 'plv'만 작성했는데 자동완성으로 'private lazy..

iOS/Common 2022.04.29

키체인(Keychain)에 대한 설명과 간단한 사용법

iOS 앱 개발 과정에서 로컬(모바일 기기)에 특정 정보를 저장할 때 간단하게는 유저디폴트(UserDefaults)부터 코어데이터, Realm, SQLite 등 여러 저장 방식을 사용할 수 있습니다. 하지만 정말 중요한 사용자 정보들(예를 들어 패스워드, 프라이빗 키, 인증서 등)을 아무 곳에나 저장하는 것은 아주 위험하다고 할 수 있겠습니다! 민감한 정보를 안전하게 저장하기 위해 애플은 Keychain Services를 제공합니다. 여러분들은 사용자의 민감 정보를 암호화 해서 키체인에 저장하고, 이후에 이를 다시 복호화 해서 사용할 수 있습니다! 결국 중요한 것은 사용 방법이겠지요? 키체인을 생성(Create)하고, 읽고(Read), 지우는(Delete) 방법을 한 번 알아봅시다! 바로 전체 코드를 보..

iOS/Common 2022.04.20