UserDefaults를 사용하는 방법
iOS에서는 사용자 설정 같이 정보량이 적은 데이터들을 앱이 설치되어 있는 동안 저장하여 사용할 수 있습니다. 바로 UserDefaults를 사용해서 저장하는 방법입니다. UserDefaults는 integer, boolean, string, array, dictionary, URL 같은 타입들을 저장할 수 있습니다. let defaults = Us...
iOS에서는 사용자 설정 같이 정보량이 적은 데이터들을 앱이 설치되어 있는 동안 저장하여 사용할 수 있습니다. 바로 UserDefaults를 사용해서 저장하는 방법입니다. UserDefaults는 integer, boolean, string, array, dictionary, URL 같은 타입들을 저장할 수 있습니다. let defaults = Us...
Xcode Playground 생성해서 간단한 코드를 실행하려고 하는데, 아래와 같이 에러가 발생해서 실행이 안 되는 것을 발견했다. Failed to launch process. Failed to attach to stub for playground execution: error: attach failed ((os/kern) invalid a...
스위프트에서 문자열 배열을 하나의 문자열로 결합하는 간단한 메소드가 있습니다. 바로 joined()입니다. let array = ["고양이", "강아지", "햄스터"] let joined = array.joined(separator: ", ") print(joined) // Prints "고양이, 강아지, 햄스터" separator 파라미터를 이...
해당 글은 Quick way to open a Custom URL Scheme in iOS Simulator 참고하여 작성한 글입니다. 애플에서 커스텀 URL 스키마(이하 custom URL scheme)를 이용하여 앱의 특정 페이지를 여는 방법을 제공합니다. 특정 custom URL scheme을 탭 하면 앱이 열리게 되는데, 테스트하는 방법은 ...
이상하게 iOS 15에서 특정 페이지로 스크롤 할 때, 크래시가 발생하는 일이 생겼습니다. iOS 15 미만 기기에서는 발생하지 않았는데, iOS 15에서만 발생하여 iOS 15에서만 UIPageViewController가 내부적으로 특이하게 동작하는 것 같았습니다. 크래시가 발생하는 부분은 아래 코드 부분이었습니다. setViewController...
NavigationView SwiftUI에서 NavigationView를 이용해서 유저가 navigate 하면서 여러 화면들을 이동할 수 있게 할 수 있습니다. 아래 예시 코드에서 Text를 NavigationView로 감쌌는데, 감싼 후에 Text가 아래로 이동한 것을 볼 수 있습니다. struct ContentView: View { va...
벌써 2021년이 끝나간다. 시간이 빨리 지나간 것처럼 올해는 정말 많은 일이 있었고 바쁘게 지나간 것 같다. 작년에는 3년의 개발 생활을 회고했는데, 올해는 개인적인 일들이랑 같이 회고하려고 한다. 일과 개발, 스터디 회사 일은 늘 바쁘다. 빠르게 성장하고 더 높게 뛰기 위해 급하게 혹은 빠르게 개발해야 하는 일들이 있었다. 지금은 스쿼드 체계로 ...
View에 Background 더하기 스위프트UI에서 background(_:alignment:) view modifier를 이용해서 view에 background를 추가할 수 있습니다. 백그라운드는 추가하는 뷰의 크기만큼 만들어집니다. struct ContentView: View { let background = Color.blue ...
스위프트에 있는 typealias는 기존에 존재하는 타입을 다른 이름으로 정의할 때 사용합니다. 상황에 따라서 기존에 있는 타입을 조금 더 적합한 이름으로 사용할 때 유용합니다. 예를 들어, 가격이 Int 타입인 상품 구조체struct가 있습니다. struct Product { let price: Int } Int 타입으로 사용해도 괜찮으...
We usually launch our app immediately when we build and run from Xcode. But there are sometimes we want to launch our app in a specific moment, for example tapping push notifications or testing uni...