SeSAC/과제(15)
-
2차 평가과제_Memo App Project
앱 만들면서 어려웠던 부분 정리한다. 내용은 앱 개선하는대로 계속 추가될 예정이다. #. 메모 수정 문제 수정을 위해 기존데이터를 받아오는 과정이 어려웠음. ListVC에서 선택한 셀이 가진 데이터를 넘겨줘야 했는데 realm테이블을 전달해도indexPath를 처리할 방법에서 막혔음. 해결방법 1) realm테이블이 아니라 애초에 인덱싱이 되어있는 레코드를 전달해서 처리(note[indexPath.row]가 note테이블의 record기 때문에 이 값을 EditorVC에 넘겨줌) 2) ListVC-didSelectRowAt에서 indexPath.row값을 EditorVC에 넘겨준다. 그리고 EditorVC에서 realm테이블에 접근한 뒤indexPath.row값으로 인덱싱해서 처리. func tableV..
2022.10.30 -
074_MVVM+DiffableDataSource(Unsplash: Get a random photo)
#. 체크리스트 1. Codable사용할 때 옵셔널 타입 체크하기: Observable.value를 nil로 초기화 하려면 옵셔널 타입이어야 함. 2. snapshot.appendItems()에 클로저값 넣을 때 viewDidLoad보다 Codable이 먼저 실행(서치바검색어가 전달되지 않은 상황)됨. 결국 스냅샷에 nil을 넣는 상황이 되기 때문에 nil이 아닌 경우에 bind메서드 실행하도록 분기 처리 해줘야함. 1. struct RandomPhoto: Codable, Hashable { var description: String? var urls: randomPhotoUrls? } // MARK: - randomPhotoUrls struct randomPhotoUrls: Codable, Hashab..
2022.10.22 -
018_환율 변동 프로그램
import UIKit import Foundation struct ExchangeRate { var currentcyRate: Double { willSet { print("currencyRate willSet - 환율 변동 예정: \(currentcyRate) -> \(newValue)") } didSet { print("currencyRate didSet - 환율 변동 완료: \(oldValue) -> \(currentcyRate)") } } var USD: Double { willSet { print("USD willSet - 환전 금액: USD: \(newValue)달러로 환전될 예정") } didSet { print("USD didSet - KRW: \(KRW)원 -> \(KRW/current..
2022.07.29 -
014_화면전환(present, push, pull)
초안피드백 #업데이트 완료 -. 네비게이션바, 바버튼 -. 3페이지 화면전환 -. 오른쪽바버튼 선택시 fullscreen present #업데이트 필요 -. 바버튼 이름 변경 #질문 -. 네비게이션 컨트롤러 일일이 생성해서 연결해야하는지? 하나에 다연결할수없는지? -. 네비바를 추가하면 추가가 안되서 네비아이템 추가하고 바버튼 추가했는데 그래도 되는지? -. 바버튼 타이틀 변경 또는 없애기 방법? -. 뷰컨트롤러 클래스를 한개 파일에 모을 수 있는 방법? 혼자 세시간반 걸려서 완성했다. 처음으로 안밀리고 과제한듯... 이번에는 코드만 따라한게 아니라 왜 이 기능이 필요한지 순서를 생각하면서 만들었는데 효과가 좋았다. 그치만 아직 밀린 진도 때문에 공부가 제대로 안되어 있어서 시간이 너무 오래걸린다. 주말..
2022.07.22 -
012-2 테이블뷰(해리포터 영화정보 화면)
연습 피드백 #업데이트 완료 -. 셀내용 불러오기 : dequeue -. Movie 구조체 사용 -. configureCell 함수 사용 #업데이트 예정 -. 포스터 및 나머지셀 데이터 채울 예정 #피드백 -. 셀데이터가 많아지면 tableviewcontroller에서 데이터 관리가 힘들어지므로 tableviewcell에 configureCell 함수 선언하여 데이터 관리 -. configureCell 함수에 다양한 타입 데이터 한번에 반환하기 위해 Movie 구조체 생성하여 사용 -. 변수 타입을 구조체 배열로 선언하여 1개 셀에 들어갈 데이터를 준비하고 cellForRowAt에서 셀별로 데이터 반환하여 화면에 표시 왜 함수를 선언하는지, 구조체를 만드는지, 변수에 구조체를 어떻게 사용할 건지 등 배경..
2022.07.21 -
012-1 테이블뷰(쇼핑리스트)
초안 피드백 #업데이트 완료 -. 텍스트필드 입력시 셀 추가 기능 -. 오른쪽 스와이프 -. 디폴트 쇼핑리스트 표시 #업데이트 예정 -. 체크박스, 스타버튼 추가 -. 셀간격 추가(셀끼리 붙어있지않게) -. 텍스트필드 박스 실선 제거 -. 추가버튼 눌렀을때 셀 추가 기능 연습 피드백 #업데이트 완료 -. 셀내용 불러오기 : dequeue -. 텍스트필드 액션 추가 : append, reloadData -. 스와이프 삭제 액션 추가 : EditingStyle -. 상단 텍스트필드 테두리 삭제 : borderstyle -. 하단 셀 배경 회색으로 변경 및 테두리 둥글게 적용 : tableviewcell파일에서 속성변경(tableviewcontroller 아님) #업데이트 예정 -. 추가 버튼 클릭시 텍스트필..
2022.07.20