Tip-Calculator (4)
컴바인을 사용하여 Calculator ViewModel 만들기 input과 output 정의 우선 ViewModel을 구성할 CalculatorVM을 하나 만들어준다. import Foundation import Combine class CalculatorVM { struct Input { let billPubli...
컴바인을 사용하여 Calculator ViewModel 만들기 input과 output 정의 우선 ViewModel을 구성할 CalculatorVM을 하나 만들어준다. import Foundation import Combine class CalculatorVM { struct Input { let billPubli...
컴바인에 대해 공부를 해야할 필요성을 느껴 공부를 하게 되었는데, Udemy 공부를 하면서 코드의 흐름은 파악이 되지만 정확하게 어떤 의미로 작동하는지를 확실하게 하기 위해 여기에 적는다. 이전에 패캠 강의를 구매해두고 Udemy꺼만 봤는데, 이럴때 도움이 될줄은 몰랐다. 내가 찾은 이미지와 내용 + 패캠강의를 mix시켜 적어보도록 한다. 사용예...
코드를 통해 이해해보기. 2탄 Scheduler let arrPublisher = [1,2,3].publisher let queue = DispatchQueue(label: "custom") let subscription = arrPublisher .map { value -> Int in // operator prin...
코드를 통해 이해해보기. Publisher & Subscriber let just = Just(1000) let subscription1 = just.sink { value in print("Received Value: \(value)") } // Received Value: 1000 하나만 전송하고 끝. let arrayPubli...
Input View 디자인 HeaderView라는 클래스를 하나 만들어 주고 시작한다. class HeaderView: UIView { init() { super.init(frame: .zero) } required init?(coder: NSCoder) { fatalError("...
Warning 해결 현재 실행을 하게되면 Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constra...
이제는 Combine, RxSwift에 대한 이야기도 나와서 슬슬 준비를 해야겠다는 생각이 들어 글을 써본다. 시작 Test를 체크를 해준다. Test 체크를 하는 이유? 소스 코드에서 특정 모듈, 클래스가 개발자가 의도한 대로 정확하게 작동하는지 테스트를 한다. 라이브러리 추가 SPM을 통해 설치를 해주자. 3...
일주일간의 팀프로젝트가 끝났다. 개인후기는 지난번 글에 적었고, 튜터님의 리뷰를 여기에 적어본다. 후기. 1. 장점 상용되어 있는 서비스처럼 퀄리티적인 측면을 많이 신경쓴 것으로 보임 화면이 엄청 많아서 앱이 풍성해 보였음 리드미 구성을 잘 해두었음. 2. 보완할 점 및 수정내용 1. 싱글톤 패턴 단순히 활용하고 끝이 아니라,...
최종점검 이것저것 테스트를하며 혹시나 생각하지 못했던 예외상황이 없는지 확인을 해보았다. 아니나 다를까 예외 상황은 발생했다. 1. 반납할때 코어데이터에 등록이 되지않았던 문제 수정 테스트를 하다가 뭔가 이상해서 보니 반납할때 킥보드의 위치가 그냥 싱글턴 배열에먼 저장이 되고 코어데이터에는 저장이 되지 않는 문제를 확인했다. 우선 반납할때 핀...
관리자 페이지 구현. 사실 이번 프로젝트에서 킥보드 등록 기능이 있는데 지금까지 구현한걸로 보았을때, 너무 유져입장에서 만든 것 같아, 관리자 입장에서도 만들어 본다. 우선 admin 계정일때만 새로 만든 Manage tabbar가 나오게 한다. import UIKit class TabbarViewController: UITabBarContr...