10주차 과제 (3)
이제 진짜 문제의 시작. 문득 씻다가 이런생각이 들었다. VM에 대해서 생각을 좀 해보았는데, 우리가 VC에 TableView관련 함수를 쓸 수 밖에 없었던 가장 큰 이유는, VC에 tableview가 있었고, 그걸 TableView 관련 protocol들을 가져왔어야 했기 때문이었다. 그러다보니 자연스럽게 VC가 처리할 내용이 많아졌다. M...
이제 진짜 문제의 시작. 문득 씻다가 이런생각이 들었다. VM에 대해서 생각을 좀 해보았는데, 우리가 VC에 TableView관련 함수를 쓸 수 밖에 없었던 가장 큰 이유는, VC에 tableview가 있었고, 그걸 TableView 관련 protocol들을 가져왔어야 했기 때문이었다. 그러다보니 자연스럽게 VC가 처리할 내용이 많아졌다. M...
SearchBar Publisher 생성 CollectionView, TableView의 Delegata, DataSource를 어떻게 해야할지 고민 하기전에, 우선 SearchBar에 대한 부분은 먼저 끝내는게 좋다고 판단했다. Publisher를 하나 만들어준다. 사이트를 참고하여 searchBar에 publisher를 연결하여 구현해본...
이번에도 과제가 주어졌다. 사실 MVC로하면 길어야 이틀짜리 과제인데, 이번엔 좀 새로운 시도를 해보고자 컴바인을 공부를 하면서 mvvm도 약간 공부를 했는데, 그래서 이걸 적용을 해서 과제를 해보면 아주 Best of Best 일것 같아서 이렇게 과제를 해보려 한다. 물론 TableView, CollectionView 도 DataSource가 ...
UI Test Hacking with Swift 에서 어떤 property를 사용할지 확인이 가능하다. 파일을 하나 만들어준다. UITest를 체크를 꼭 하자. 이 파일은 일종의 Constants를 관리한다. enum ScreenIdentifier { enum ResultView: String { case t...
Add image Snapshot test Snapshot Test 간단하게 말해서 디자인 시안대로 UI를 잘 구현했는가에 대한 테스트 Snapshot Test Github 여기에 들어가면 readme에 설명이 있다. 이 라이브러리를 사용해서 테스트를 한다. import XCTest import SnapshotTest...
Unit Test 세팅 import XCTest import Combine @testable import tip_calculator final class tip_calculatorTests: XCTestCase { override func setUp() { super.setUp() } ove...
결과를 Result View에 출력 현재는 bind 함수에 콘솔로 보여주게만 되어있다. 그걸 이제 result view에 출력이 되도록 한다. func configure(result: Result) { let text = NSMutableAttributedString( string: String(result.a...
TipInputView publisher 생성 private let tipSubject: CurrentValueSubject<Tip, Never> = .init(.none) var valuePublisher: AnyPublisher<Tip, Never> { return tipSubject.eraseToAnyPub...
컴바인을 사용하여 Calculator ViewModel 만들기 input과 output 정의 우선 ViewModel을 구성할 CalculatorVM을 하나 만들어준다. import Foundation import Combine class CalculatorVM { struct Input { let billPubli...
컴바인에 대해 공부를 해야할 필요성을 느껴 공부를 하게 되었는데, Udemy 공부를 하면서 코드의 흐름은 파악이 되지만 정확하게 어떤 의미로 작동하는지를 확실하게 하기 위해 여기에 적는다. 이전에 패캠 강의를 구매해두고 Udemy꺼만 봤는데, 이럴때 도움이 될줄은 몰랐다. 내가 찾은 이미지와 내용 + 패캠강의를 mix시켜 적어보도록 한다. 사용예...