개린이 이야기61 AppDelegate와 Scene Delegate에 관하여 -스토리보드 없이 코드만으로 UI를 구성하는데 선행학습으로 AppDelegate와 SceneDelegate에 관해 공부해봐야겠다는 생각이 들어 deep diving 해본다. -ios13 이전까지는 AppDelegate에서 Process Lifecycle과 UI Lifecycle과 같은 생명주기들을 관리했었다. 하지만 그림과 같이 ios13부터 Scene Delegate라는 것이 생기면서 AppDelegate에서 UI Lifecycle이 떨어져 나가 SceneDelegate에서 관리하게 되었고, AppDelegate는 Process Lifecycle(기존에 있던)과 Session Lifecycle(scene에 대한 정보를 관리할 수 있는)이 추가되었다. -Scene Delegate의 등장 배경 : ios1.. 2022. 9. 20. 요리도감 프로젝트를 진행하면서 느낀점 7월초부터 9월초까지 "요리도감" 이라는 요리 커뮤니티 앱을 개발해보았고, 진행하면서 배웠던 점, 아쉬웠던 점 그리고 느꼈던 감정 등에 대해서 기록을 하고자 한다. 1. 배웠던 점 1) 어떤 기능을 구현할 때 기능 실행이 안되는 등의 문제가 발생할 때 앱의 수명주기를 고려하는 것이 중요하다. ex) 컬렉션뷰에 1번, 2번, 3번사진들이 나열되어 있다. 이 중 2번 사진을 선택했을 때 확대할 수 있는 detailview가 나오면서 내가 선택한 사진이 나와야 하는 기능을 구현할 때 scrollToItem이라는 메서드를 사용했다. 문제는 해당 메서드를 viewWillApppear메서드 안에 넣었는데 작동이 되질 않았다. 문제 해결은 수명주기의 문제였구나를 깨닫고 viewDidAppear에 해당 메서드를 넣었더.. 2022. 9. 19. 모든 ios개발자가 알아야 할 중요한 사항 1. Reactive Programming(반응형 프로그래밍) -어느 회사에서든 면접을 볼 때 Reactive Programming에 대해 경험이 있는 지 물어보는 경우가 반드시 올 것이기 때문에 배워두어야한다. -정의, 구현 방법, RxSwift, 결합 라이브러리 배우기. 2. Asynchronous Programming(비동기 프로그래밍) -비동기 확인 / 대기, DispatchQueues 이해, Grand Central Dispatch 이해 3. Networking(네트워킹) -컴퓨터 네트워크를 통해 통신이 가능한 프로그래밍을 하는 것이 중요하다. -URLSession -Moya(라이브러리) - Kingfisher(이미지 로드 전문) - HTTP(일반적으로 작동하는 방식) - JSON(데이터 형식).. 2022. 8. 13. Data base에 관하여 1. 데이터를 지속적으로 저장하는 방법들에는 여러가지가 있다. ex) 데이터를 저장하는 method. 1) userDefaults codable keychain 2) SQLite : 거의 모든 아이폰 앱, 백엔드 또는 데이터를 저장하는 데이터베이스 장치는 모두 SQLite를 사용한다. 많은 양을 유지하는데 도움이 되는 가볍고 사용하기 쉬운 관계형 데이터베이스다. Core Data Realm 1)에 소개되어 있는 메서드들은 모두 테이블, plist 등 개별 테이블이며 소량의 데이터를 추적한다. 2)에 소개되어 있는 메서드들은 데이터베이스 또는 데이터베이스 솔루션이며 더 복잡한 요구 사항이 있는 데이터 앱, 데이터 저장, 데이터 검색을 위한 메서드이다. 앱 내부에 있는 사용자의 데이터를 저장하고 유지하기, .. 2022. 6. 11. 샌드박싱, NSCoder에 관하여 1. 샌드박싱 : 미국에서 어린아이를 보호하기 위해 모래통에서만 놀도록 하는데서 유래한 보안 모델을 말한다. ios는 기본적으로 앱 마다 별도의 파일을 생성하여 공유되지 않도록 하고, 외부로부터 들어온 접근에 대해 보호되는 영역으로 시스템이 부정적으로 조작되는 것을 막는 보안 형태를 말한다. -예시: a, b라는 두 개의 앱이 핸드폰에 깔려 있을 때 a에서 생긴 악성 소프트웨어가 b앱의 데이터들을 모두 망쳐놓으면 문제가 생기기 때문에 샌드박싱을 이용해 해결한다. 1. nscoder : 공식문서에 따르면 "다른 개체의 보관 및 배포를 가능하게 하는 개체의 기초 역할을 하는 추상 클래스" 이다. -개체의 보관은 "디스크에 개체 및 데이터 저장", 개체의 배포는 "서로 다른 프로세스 또는 스레드 간의 개체 및.. 2022. 6. 11. 수명주기에 관하여 1. 뷰 컨트롤러 수명 주기 설명 -viewController에도 수명주기가 있다. 1. viewDidLoad : 가장 먼저 일어나는 코드로 모든 IBOutlets, IBActions, 모든 뷰 관련 객체가 연결된다. 뷰가 있을 때 한 번만 호출된다. 2. viewWillAppear : 실제로 뷰가 화면에 나타나기 직전에 호출된다. 사용자가 아무 것도 볼 수 없을 때 우리가 무언가를 할 수 있는 좋은 시점이다. 3. viewDidAppear : 뷰가 나타나고 난 후에 호출된다. 4. viewWillDisappear : 뷰가 사라질 때 쯤 호출된다. 5. viewDidDisappear : 뷰가 이미 사라지고 난 후에 호출된다. 2. 앱 수명 주기 설명 -앱의 최초 실행부터 앱이 완전히 종료될 때까지 앱의 .. 2022. 6. 3. 이전 1 ··· 3 4 5 6 7 8 9 ··· 11 다음