목록iOS (59)
아요 개발 일기
안녕하세요! 오늘은 Picker View를 사용해서 원하는 이미지를 출력해보는걸 해보겠습니다!! (지극히 개인적으로 새롭게 접했던? 중요하다고 생각했던? 부분만 글을 쓰려고하니 참고만해주세용) 일단, PickerView를 사용할때는 extension을 빼놓을 수 없다고 해요!!!! extension은 가볍게 이야기하면 확장하는 키워드 입니다 ㅎㅎ 익스텐션에 대해서 잘 모르거나 더 자세히 알고싶은 분은 Extension - 익스텐션 을 참고해주세요:D (오늘의 TMI) 요즘 내일 배움 카드로 학원 다니구 있어요 ㅎㅎㅎㅎㅎ 확실히 비대면으로 강의 듣는것보다 대면이 좀 더 집중도 잘되고 바로 질문 할 수 있어서 좋더라구요 ㅎㅎ헤헤 Picker View가 뭐에요?? 그냥 해석해보면 선택하는 보기? 이런느낌인데,..
안녕하세용 :o 오늘은 MVP 패턴에 대해서 공부해보도록 하겠습니다!!! MVC나 MVVM은 워낙 유명해서 알고 있었지만, MVP?! 저는 처음 들어보는.. 친구였어요,, 공부하다가 알게된 새로운 친구! 같이 알아봅시다 🤔 MVP란? Apple's MVC는 저번 글에 설명한 것처럼 UIView의 lifecycle에 의해 Controller가 강하게 연관되어있었죠? 그래서 Controller가 하는 일이 많아진다는(크기가 방대해짐) 단점이 있었습니다!!! iOS가 이 문제를 해결하기 위해 Controller대신 Presenter 개념을 도입하여, Model + View + Presenter로 구성된 MVP 패턴을 만들었습니다. Passive View는 life cycle과 아무 연관이 없고, 어떠한 레이아..
안녕하세용,, 오늘도 코코아팟을 설정하다가 나온 오류를 데리고 왔습니다!! 위와 같은 오류가 떴는데요! 해석해보면 아래와 같습니다. [!] 플랫폼이 지정되지 않았기 때문에 대상 `FeedbackExample`에 버전 `15.0`이 있는 `iOS` 플랫폼을 자동으로 할당합니다. Podfile에서 이 대상에 대한 플랫폼을 지정하십시오. 'https://guides.cocoapods.org/syntax/podfile.html#platform'을 참조하세요. 위의 나온 링크를 들어가보면 아래와 같이 나옵니다. 해석을 해봅시다..! 정적 라이브러리를 빌드해야 하는 플랫폼을 지정합니다. CocoaPods는 지정되지 않은 경우 기본 배포 대상을 제공합니다. 현재 기본값은 4.3iOS, 10.6OS X, 9.0tvOS..
안녕하세여~~ 오늘은 Cocoapod, Carthage, SPM을 비교해 보려고 합니다. 공부하다보니 저 세가지의 다른점이 무엇인지 궁금해서 가지고왔어뇽 Cocoapod, Carthage, SPM 은 모두 Package Manager입니다. 라이브러리들을 관리해주는 친구들이죠! (의존성 관리) 저는 Cocoapod이랑 SPM만 사용해 보았어요,, Carthage는 완전 초면이랍니다! 세가지나 비교해야하니, 이 글은 간단한 설명과 장단점에 대해서만 알아보겠습니다 😄 Cocoapod : 코코아팟 Ruby로 만들어졌으며 Pod라는 라이브러리를 검색할 수 있는 사이트를 제공함으로써 라이브러리를 보다 찾기 쉽게해주는 집중형 시스템을 제공합니다. 설치 및 간단한 라이브러리 추가법 1. CocoaPods 설치 sud..
안녕하세용 :o 오늘은 MVVM 패턴에대해 공부해보도록 하겠습니다!! 회사에서는 코드에 새로운 기능이 추가될 확률이 굉장히 높고, 유지보수 및 테스트가 용이해야하기 때문에 MVVM 패턴을 사용하고있다고해요! 이런저런 부분에서 iOS 공부할때 꼭 필요하니 같이 공부해봅시다!!!!! MVVM이란? MVVM은 Model - View - ViewModel - ViewController로 구성되어있는 소프트웨어 아키텍처 패턴입니다. 저번에 MVC 공부할때 지나치게 ViewController가 커져서 재사용성이 떨어지고 테스트도 하기 어려워진다고 했죠?! 이 문제를 해결하기 위해 MVVM에서는 ViewModel을 추가해서 ViewController의 일을 덜어주고 크기를 줄여준 패턴입니다. 때문에 각 구성요소들이 ..
안녕하세요! 오늘 스파르타코딩클럽 강의를 듣다가 CocoaPod을 설치하는데 자꾸 오류가 떠서.. 들고왔어요ㅠㅠ 에러를 쭉 보면 맨 위 Error에 ERROR: 코코아팟 설치 오류: ERROR: gem 네이티브 확장을 빌드하지 못했습니다. 이렇게 떴는데 무슨 말인지 모르겠어서 엥..? 했어요ㅠㅠ 밑에 쭉 보니 루비 개발을 위해 별도의 패키지를 설치해야 할 수도 있습니다. 라는 부분이 있길래 Ruby 버전을 업데이트 해보았습니다! Ruby 버전 업데이트 하는 법은 아래와 같아요. // 설치하기 brew install rbenv ruby-build // 확인하기 ruby -v ruby를 업데이트하고 다시 cocoapods을 설치했더니!! 성공했습니당 ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ
안녕하세요! 오늘은 iOS 앱에서 네트워킹을 구성하는 가장 기본적인 방법인 URLSession을 공부해보도록하겠습니다! URLSession?🧐 iOS 앱에서 서버와 통신하기 위해 애플은 URLSession이라는 API를 제공하고 있습니다. URLSession은 앱과 서버간에 데이터를 주고받기 위해서 HTTP를 사용합니다. HTTP를 포함한 몇 가지 프로토콜을 지원하고, 인증, 쿠키 관리, 캐시 관리 등을 지원합니다. 위와 같은 그림으로 URLSession을 나타낼 수 있는데요 :-) 각각의 부분은 아래와 같은 역할을 합니다. URLSessionConfiguration : URLSession 생성 URLSessionTask : 실제로 서버와 통신하는 것 Delegate : 네트워킹 중간 과정 확인 과정 (..
안녕하세요 소진입니당🐶 이번에는 Traits에대해 알아보도록 하겠습니다! Traits 란? Traits는 Observable을 제한적인 기능만으로 create하고 싶을 때 사용합니다. 아래 이미지처럼 Observable에서 파생된 것이 Traits이라 생각하면 됩니다! Triats를 왜 사용할까요? Observable을 생성하게 되면 구독자가 subscribe하여 onNext, onError, onCompleted등의 이벤트를 제어했었죠? 그런데 이런 이벤트들을 상황에 따라 굳이 모두 사용하지 않아도되는 경우가 발생할 수 있습니다. 만약, 저희가 그냥 Observable로부터 성공 여부만 받고 싶은 경우라면 굳이 onCompleted 이벤트도 필요 없고 onNext를 통해 인자를 전달 받기에도 조금 과할..