
오늘은 UserDefaults에 대해 알아보겠습니당. UserDefaults 1. 데이터를 저장하는 방법 중 하나 UserDefaults는 데이터를 저장하는 방법 중 하나라고 생각하면 될 것 같아요. 그렇다고 데이터베이스는 아니구요. 말 그대로 유저의 기본값? 같은 기능인거죠. 예를 들어, 최고 점수나 볼륨, 뮤직 on/off 등? 음악 앱을 이용할 때, 지난 번 볼륨이 유지되어 있쟈나여? 갑자기 볼륨 커지면 다들 핸드펀 떨구잖아여?!! 그런 기본값들을 저장해두고, 불러와서 사용하는 것이져. 2. 저장 형태 UserDefaults는 키-값의 쌍으로 저장이 되구요, swift의 기본타입(float, double, integer, bool, URLs)으로 접근할 수 있다구 해요. 3. 작은 데이터만 저장 키..

[swift] App의 LifeCycle (1) ⬇️⬇️⬇️ 더보기 https://day-of-soonjin.tistory.com/48 [swift] App의 LifeCycle 지난 번에는 ViewController의 life cycle에 대해서 공부해 봤는데요!! 오늘은 App의 Life Cycle에 대해서 공부해보려구요! 사실 ViewController의 라이프 사이클과 유사할 거라 생각하고 시작했는데, 생각보다 day-of-soonjin.tistory.com 지난 번에는 WWDC2019에서 발표된 내용에 따라 AppDelegate와 SceneDelegate와 역할 및 LifeCycle을 보았었는데요! 오늘은 scene의 상태 변화(state transition)에 대해 알아보고, 실제 앱에서 실행하..

새롭게 배운 "xcode에 폰트 추가하기"를 써보면 좋을 것 같아서요. 우선 폰트를 다운받아야겠쥬? 구글 폰트에요. 여기서 다양한 필터를 설정해서 다운받을 수 있어요! https://fonts.google.com Google Fonts Making the web more beautiful, fast, and open through great typography fonts.google.com 저는 SongMyung이라는 폰트를 다운 받았어요. 예뻐요 ㅎㅎ https://fonts.google.com/specimen/Song+Myung?subset=korean Google Fonts Making the web more beautiful, fast, and open through great typography..

지난 번에는 ViewController의 life cycle에 대해서 공부해 봤는데요!! 오늘은 App의 Life Cycle에 대해서 공부해보려구요! 사실 ViewController의 라이프 사이클과 유사할 거라 생각하고 시작했는데, 생각보다 어렵더라구여 ㅠㅠ (많이 틀렸을 수도 있음 주의 ㅠㅠ) xcode에서 프로젝트를 만들면 자동으로 생기는 AppDelegate.swift와 SceneDelegate.swift 파일이 기억나시나요? 이게 이게 iOS13부터 생긴 놈이더라구요. iOS12 및 그 이전에는 하나의 앱은 하나의 윈도우만 가졌기 때문에 AppDelegate가 앱에 관한 모든 걸 좌지우지 했대요. (윈도우는 그냥 단순하게 화면이라고 생각하면 좋을 것 같아요) 그래서 AppDelegate.swif..

UIButton 참 많이 쓰는 것 중 하나인데, 코드로 작성하다 보니까 같은 모양의 버튼을 만들 때 중복되는 코드가 너무 많은 거에요. 그래서 부랴부랴 써보는 UIButton 커스텀하기 입니다! 우선 평소처럼 UI부터 잡고 갈게요! 반반 배경도 넣어줬구요, 일단 버튼은 UIButton의 객체로 찍어내었습니다! 더보기 class ViewController: UIViewController { let topView = UIView() let bottomView = UIView() let topBtn = UIButton() let bottomBtn = UIButton() override func viewDidLoad() { super.viewDidLoad() configureUI() } } //MARK: -UI..

지난 번에 각 달걀 버튼을 누르면 아래 progressView가 진행되는 것까지 해봤쥬? 오늘은 정해진 달걀 요리 시간이 끝나면 노래가 재생되는 걸 만들어 볼게요! 생각보다 엄청 간단해요!! 사실 저걸 어떻게 하나 아주 걱정하고 있었는데, 쌤께서 스택오버플로우를 활용하라는 조언을 해주셨져. ㄱ ㄱ (제법 간단했던 이유) 이 이미지는 stackoverflow 사이트는 아니지만, stackoverflow가 출처인 글이었어요. 그래서 이 코드를 고대로 에그타이머로 가져갔드랬죠? 1. 가장 먼저 해야할 작업은 import AVFoundation을 해주는 것입니다. import AVFoundation AVFoundation이라는 프레임 워크는 시청각 자료 작업, 장치 카메라 제어, 오디오 처리 및 시스템 오디오 ..

오늘도 Udemy 강의에서 배운 ViewController의 Lifecycle을 알아볼게요. (Udemy 못 잃어,,,) 일단 ViewController의 life는 아래와 같이 돌아간다고 해요. (역시 오타 안나면 내가 아니지,,,viewWillDisappear이에여 ㅎㅎㅎ) 하나씩 차근차근 알아볼게용 🤡 viewDidLoad() - 우리가 익숙한 건 모다? viewDidLoad()져! - view가 메모리에 로드된 후에 불려지는 인스턴스 메서드입니다. - viewDidLoad()는 view가 생성될 때 딱 한 번 불려지게 됩니다. viewWillAppear() - viewDidLoad() 실행 후 불려지는 메서드에요. - 뷰가 실제로 스크린에 나타나기 직전에 불려진답니다. - 유저가 아직 아무것도 볼..

오늘은 유데미를 통해 배운 에그 타이머 예제를 통해 타이머를 알아보고자 합니다!! 이 에그 타이머가 꽤 마음에 들어서 제 버전으로 만들어 보았어요. (달걀이 너무 귀여워,,,🥚) 1. 에그 타이머 UI 잡기 언제나 제일 기본적인 부분이져. UI잡기부터 해볼게요. 코드는 접어둘게요! 더보기 더보기 import UIKit class ViewController: UIViewController { let mainLbl = UILabel() let background = UIImageView() let softBtn = UIButton() let softLbl = UILabel() let mediumBtn = UIButton() let mediumLbl = UILabel() let hardBtn = UIButto..
- Total
- Today
- Yesterday