
[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..

지난 번 Alamofire 글을 쓰면서 만났던 Result Type이 hoxy 기억나시나요? 오늘은 Result Type에 대해서 알아보고자 해요. 예전에 앨런님께 배우긴 하였으나, 늘 그렇듯이 중요한 건 기억이 안나니까요 ㅎㅎ 스따뚜🥴 Result Type은 에러를 처리할 때 사용하는 하나의 에러 처리 방법이에요. 에러를 throws하는 경우, do-catch로 처리하는 번거로움이 있지만 Result Type의 경우, 성공(success)과 실패(failure) 두 가지로 나눠 처리할 수 있기 때문에 훨씬 명확해요. Result Type의 공식문서 정의를 보면, 아래와 같아요. 열거형으로 선언된 Result Type에는 2개의 값이 있습니다. case success와 case failure이죠. enu..
- Total
- Today
- Yesterday