분류 전체보기133 객체지향프로그래밍(OOP) 개발을 하다 보면 객체지향 프로그래밍이란 말을 정말 많이 들어본다. 객체지향 프로그래밍이란 무엇일까 1. 객체지향프로그래밍(oop) -컴퓨터 프로그래밍 패러다임의 하나이다. -프로그래밍에서 필요한 데이터를 추상화시켜서 객체들을 만들고, 그 객체들 간의 상호작용을 통해 구성되는 프로그래밍 방법. -여러 객체들의 모임으로 각 객체들은 메시지를 주고받거나, 데이터를 처리할 수 있다. -목적은 코드의 재사용성과 중복제거이다. -대표적인 구성요소로 class, object, method 등이 있다. 1) class -class는 청사진으로 어떤 집단의 속성과 행위를 정의해 놓은 것이다. (속성과 행위는 property와 method라고 할 수 있다.) -class는 어떤 틀이라고 할 수 있다. 쉽게 예를 들자면 .. 2022. 9. 20. 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. 요리도감 이용약관 ('https://iosjiho.tistory.com/'이하 '요리도감')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은 2022년 9월 7부터 적용됩니다. 제1조(개인정보의 처리 목적) ('https://iosjiho.tistory.com/'이하 '요리도감')은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받는 등 필요한 조치를 이행할 예정입니다. 제2조.. 2022. 9. 7. @escaping에 관하여 @escaping 함수를 파라미터로 받는 함수가 있다고 한다. ex) func doSomething(completion : () -> ()) { print( "start" ) DispatchQueue.main.asyncAfter( deadline : .now() + 10{ completion() } print( "end" ) } 이 함수는 error가 발생한다. 왜냐하면 함수의 실행흐름이 끝나고 나서 completion이 실행되기 때문이다. 이렇게 non-escaping closure 형식은 함수 내에서 모든 실행을 맞춰야 한다. 하지만 파라미터 앞에 @escaping을 붙여준다면 모든 함수가 종료되고 나서 10초 후에 completion이 실행된다. 여기서 "@escaping을 붙여준다면 파라미터로 받.. 2022. 8. 25. 모든 ios개발자가 알아야 할 중요한 사항 1. Reactive Programming(반응형 프로그래밍) -어느 회사에서든 면접을 볼 때 Reactive Programming에 대해 경험이 있는 지 물어보는 경우가 반드시 올 것이기 때문에 배워두어야한다. -정의, 구현 방법, RxSwift, 결합 라이브러리 배우기. 2. Asynchronous Programming(비동기 프로그래밍) -비동기 확인 / 대기, DispatchQueues 이해, Grand Central Dispatch 이해 3. Networking(네트워킹) -컴퓨터 네트워크를 통해 통신이 가능한 프로그래밍을 하는 것이 중요하다. -URLSession -Moya(라이브러리) - Kingfisher(이미지 로드 전문) - HTTP(일반적으로 작동하는 방식) - JSON(데이터 형식).. 2022. 8. 13. 이전 1 ··· 14 15 16 17 18 19 20 ··· 23 다음