개발/Swift
-
부모 viewController에서 addSubview 를 통해 뷰를 노출 시키는 방법개발/Swift 2021. 3. 22. 18:39
[iOS] Modern Collection View & MVVM 패턴 가이드 - 인프런 | 강의 MVVM 패턴과 Modern Collection View를 사용해 네트워킹을 구현하고, 다양하고 동적인 Collection View를 자유자재로 다룰 수 있게 됩니다., - 강의 소개 | 인프런 www.inflearn.com 여러개의 뷰를 add / remove 하여서 계속 뷰를 바꾸게 하기 위해 subView를 사용했다. 스토리보드에서 segue를 지정해준뒤 segue를 사용해서 자식 컨테이너 뷰 컨트롤러에 데이터를 넘겨주는 방식으로 하니 전해줄 데이터를 미리 세팅하고 나서 전달해줘야 하는데 segue를 스토리보드에서 지정해주니 view did load 이전에 호출되어 데이터가 제대로 넘어가지도 않고 pre..
-
Storyboard reference 스토리보드 분할하기개발/Swift 2021. 3. 12. 12:26
스토리 보드가 많아짐에따라 Main.storyboard 파일을 열때 느려지는 현상이 발생하여 Storyboard reference 를 활용해 storyboard를 분할 하려한다. 우선 네비게이션이 설정 되어야 한다. 네비게이션을 따로 지정하지 않으면 Storyboard reference 가 Main.storyboard에 뜨지 않는다. 스토리 보드에서 분할 하려는 ViewController 를 선택한후 Editor-> Storyboard refactor 를 클릭한다 그러고 나서는 원하는 이름을 타입후 저장하면 storyboard 가 하나 생성되고 만약 네비게이션을 지정해줬다면 Main.storyboard 에서 Storyboard reference 가 생긴다. 이것을 클릭하면 storyboard Id 를 지..
-
Swift CollectionView Scroll 이미지로 인한 렉 현상 해결개발/Swift 2021. 2. 22. 14:49
Modern Collection View 와 MVVM 패턴 가이드 [iOS] Modern Collection View & MVVM 패턴 가이드 - 인프런 | 강의 MVVM 패턴과 Modern Collection View를 사용해 네트워킹을 구현하고, 다양하고 동적인 Collection View를 자유자재로 다룰 수 있게 됩니다., Swift iOS UI, 제대로 다루는 핵심 기술! 📲 iOS Swift 레이아웃 구현을 www.inflearn.com 스크롤 할때마다 렉이걸려서 보니 스크롤 할때마다 Cell을 계속 생성하고있었음 그중 image를 url 로 가져오는 부분을 기다리느라 cell을 그리는게 늦어지는게 문제였다 이미지 set을 제거 한경우 스크롤이 빨랐음 해결 방법 -> 비동기로 image set..
-
Swift MVVM 패턴 Network -> Decode -> View개발/Swift 2021. 1. 12. 14:46
https://inf.run/V3b51 iOS Clean Architecture & MVVM: RxSwift 완전 정복 강의 | 덤벨로퍼 - 인프런덤벨로퍼 | Clean Architecture와 MVVM 패턴을 실무에서 적용할 수 있도록 설명하며, RxSwift, Concurrency 등 필수 기술을 다룹니다., iOS Clean Architecture & MVVM: RxSwift 완전 정복현업에서 Cleanwww.inflearn.com 네트워킹과 받아온 데이터를 모델로 디코딩 후에 테이블 뷰에 보여주는 간단한 예제이다.먼저 모델을 만든다.각 뉴스의 내용을 담을 Article, Article의 리스트 형태인 ArticleList 이다struct ArticleList : Codable { let ar..
-
[Swift] Protocol & Delegate개발/Swift 2020. 11. 4. 16:30
Bird라는 슈퍼클래스에 fly() 기능을 넣어두고 Eagle이라는 자식 클래스에 Bird 클래스를 Inherit 한다고가정했을때 Penguin은 Bird 클래스를 상속 받지만 fly() 기능을 사용하면 안된다. AirPlane 을 구현할경우 fly를 사용하기 위해 Bird를 상속받아야하는 경우도 생긴다. 이때 프로토콜을 사용하다. protocol CanFly{ func fly() } 인터페이스 처럼 상세구현은 자식에서한다. class Eagle : Bird , CanFly{ func fly(){ print("FLY") } } protocol은 class 가 아닌 struct에서도 상속 받을수있다. Delegate Model - WeatherManager 클래스에서 우선 프로토콜을 만든다 protocol..
-
[Swift] API 네트워킹 , Json 파싱 하는법개발/Swift 2020. 11. 3. 18:55
openweathermap.org/ 실시간 날씨 데이터를 가져오는 간단한 예제이다. API 네트워킹 하기 다음은 기본 url 이다. "http://api.openweathermap.org/data/2.5/weather?units=metric&appid=3a395c05bd9d58055e42048436e96166" units 는 metric 단위로하고 (기본값으로 할경우 온도가 179 이렇게 나오므로 이해가 안감) appid 는 나의 APIKEY 이다. 회원가입하면 APIKEY 를 받을수있다. 이제 여기에 검색할때 마다 지역명을 쿼리 파라미터에 넣어줄거다. class WeatherManager { let weatherURL = "http://api.openweathermap.org/data/2.5/weath..