RC 3rd WEEK-TableView,CollectionView,CRUD기능구현

YJ·2023년 1월 8일
0

라이징 캠프 13기

목록 보기
7/11
post-thumbnail

1.0 복습을 위한 질문

UITableview 공식문서

공식문서 링크 참조
https://developer.apple.com/documentation/uikit/uitableview

Q1. UITableview는 왜 사용하는가?

하나의 열에 세로로 스크롤되는 콘텐츠 행들을 표시

데이터 수가 고정적일 때는 scrollview

Q2. UITableview는 언제 사용하는가?

하나의 긴 행을 표시하도록 테이블을 구성하거나 관련 행을 섹션형태로 그룹화하여 콘텐츠를 더 쉽게 탐색하게 하기 위해

Q3. UITableView는 어떻게 사용하는가?
일반적으로 Navigation View Controller와 함께 사용함

참고한자료
[UIKit] UITableView 기초부터 다시 살펴보기

1.2 UISwitch의 isOn 속성이 유지되지 않는 버그 해결하기

참고자료
iOS) dequeueReusableCellWithIdentifier 과정과 사용이유

1.3 이번 과제 목표

이번 과제 목표

1) TableView, CollectionView 이용해서 UI 구현
2) CRUD 기능
3) 1.2 Cell Reuse 해결

1.3.1 당근 마켓 필요한 UI 완료하기

내 근처 UI DESIGN 12 promax ver.
https://s3.us-west-2.amazonaws.com/secure.notion-static.com/b4c10381-9eae-448b-8c57-c0d73d63d48c/Simulator_Screen_Recording_-_iPhone_12_Pro_Max_-_2023-01-05_at_04.23.12.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45EIPT3X45%2F20230108%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230108T055209Z&X-Amz-Expires=86400&X-Amz-Signature=ae2f301bbaab2b8f3f4101ba87d19a4005460ab6f5088d8af12b5db762ffe56a&X-Amz-SignedHeaders=host&response-content-disposition=filename%3D%22Simulator%2520Screen%2520Recording%2520-%2520iPhone%252012%2520Pro%2520Max%2520-%25202023-01-05%2520at%252004.23.12.mp4%22&x-id=GetObject

상품 UI DESIGN 12 promax ver.
https://s3.us-west-2.amazonaws.com/secure.notion-static.com/f0243530-76bb-4325-a264-32abc031c235/Simulator_Screen_Recording_-_iPhone_12_Pro_Max_-_2023-01-05_at_04.33.08.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45EIPT3X45%2F20230108%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230108T055409Z&X-Amz-Expires=86400&X-Amz-Signature=feb8bcc5f918fe6d1545a77a997ec1cce4c8d7ebda82b0a6b39083f321426ad8&X-Amz-SignedHeaders=host&response-content-disposition=filename%3D%22Simulator%2520Screen%2520Recording%2520-%2520iPhone%252012%2520Pro%2520Max%2520-%25202023-01-05%2520at%252004.33.08.mp4%22&x-id=GetObject

홈화면부터 나의 당근까지의 UI 13 promax ver.
https://s3.us-west-2.amazonaws.com/secure.notion-static.com/40764b2e-3cb3-439b-a26f-ff08da52cdbc/Simulator_Screen_Recording_-_iPhone_13_Pro_Max_-_2023-01-06_at_23.14.06.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45EIPT3X45%2F20230108%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230108T055956Z&X-Amz-Expires=86400&X-Amz-Signature=7936aee329d9f216d20e58e3a66abaea1b03ba03b709a8ef8ecd7bb17d0ad19e&X-Amz-SignedHeaders=host&response-content-disposition=filename%3D%22Simulator%2520Screen%2520Recording%2520-%2520iPhone%252013%2520Pro%2520Max%2520-%25202023-01-06%2520at%252023.14.06.mp4%22&x-id=GetObject

홈화면부터 나의 당근까지의 UI SE ver.
https://s3.us-west-2.amazonaws.com/secure.notion-static.com/ec07fd0b-6c79-41cb-9d26-aa7091dde249/Simulator_Screen_Recording_-_iPhone_SE_%283rd_generation%29_-_2023-01-06_at_23.15.09.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45EIPT3X45%2F20230108%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230108T060216Z&X-Amz-Expires=86400&X-Amz-Signature=7aaf377ad295e23820a1519867ec7f16e39f4871a7edb37aa96bcf8f9c66f48c&X-Amz-SignedHeaders=host&response-content-disposition=filename%3D%22Simulator%2520Screen%2520Recording%2520-%2520iPhone%2520SE%2520%283rd%2520generation%29%2520-%25202023-01-06%2520at%252023.15.09.mp4%22&x-id=GetObject

1.3.2 CRUD 기능 구현

시뮬레이터

CRUD 기능까지 다 구현 13 promax ver.
https://s3.us-west-2.amazonaws.com/secure.notion-static.com/503cbe74-954c-48c7-9faf-ac1f45b0dc56/Simulator_Screen_Recording_-_iPhone_13_Pro_Max_-_2023-01-07_at_02.38.03.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45EIPT3X45%2F20230108%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230108T060255Z&X-Amz-Expires=86400&X-Amz-Signature=157ec3091fa25113b0fa66374ca4020f7eed463d3334d9aa72f7f11fef5dcf56&X-Amz-SignedHeaders=host&response-content-disposition=filename%3D%22Simulator%2520Screen%2520Recording%2520-%2520iPhone%252013%2520Pro%2520Max%2520-%25202023-01-07%2520at%252002.38.03.mp4%22&x-id=GetObject

CRUD 기능까지 다 구현 SE ver.
https://s3.us-west-2.amazonaws.com/secure.notion-static.com/1c03f594-cd3a-46b4-a480-ebb5185ec262/Simulator_Screen_Recording_-_iPhone_SE_%283rd_generation%29_-_2023-01-07_at_02.43.53.mp4?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45EIPT3X45%2F20230108%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20230108T060404Z&X-Amz-Expires=86400&X-Amz-Signature=cbe43956a5081cf586c5c64dc1a8013368c7106e3fd9370812a1d84578c8fe35&X-Amz-SignedHeaders=host&response-content-disposition=filename%3D%22Simulator%2520Screen%2520Recording%2520-%2520iPhone%2520SE%2520%283rd%2520generation%29%2520-%25202023-01-07%2520at%252002.43.53.mp4%22&x-id=GetObject

1.3.3 구현을 위해 참고한 자료들

  1. TableView
    [iOS/Swift] xib로 TableView 만들기
  1. 라이브러리 사용법
    왕 초보를 위한 CocoaPods(코코아팟) 사용법 (Xcode와 연동)
    [macOS] macOS에 cocoapods 설치하기
    zsh: command not found: pod
    [Xcode] CocoaPods(코코아팟) 설치 및 사용 방법
    iOS Xcode13에서 pod init 실패하는 경우 해결방법!
  1. 프로젝트 경로, 프로젝트 파일 관련
    MAC 터미널에서 원하는 디렉토리 한번에 가는 깨알 팁
    [Xcode] xcodeproj 와 xcworkspace 차이

1.3.4 자주 발생했던 오류들 모음

Multiple commands produce Error 해결법
[iOS / Error] Unable to load contents of file list... 에러 해결
[Swift] Storyboard doesn't contain a view controller with identifier
Invalid nib registered for identifier
xcode invalid redeclaration of type name - Google Search

[iOS - Error] setValue:forUndefinedKey 에러
Swift - "[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key ~ ."
[iOS - swift] storyboard 에러- 1. NSUnknownKeyException, this class is not key value coding-compliant for the key // 2. Unexpectedly found nil while implicitly unwrapping an Optional value
Swift - "[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key ~ ."
IOS) TableView의 Section을 다뤄보자

최대 삽질은...

버튼 plain말고 default로 해야지 버튼이미지 위에 버튼 텍스트 안 뜬다…
코드 오류가 없어도 이런 오류들까지 해결해야한다...

1.4 이번 과제 피드백 및 다음주차 과제 다짐

당근마켓 버튼
라이브러리 안 쓰고 알파값 0.5정도 만들고 + 버튼 구현 가능

가격 "," 받는 거
String으로 되어 있으니까 나오는 건데 String에 ,붙여주기
if문 써가지고 , 넣어주기?
Int 보다는 String으로 넣자 String은 바이트 크기가 적으니까 메모리 부분에서 더 좋음

라이브러리 이용 안 하고 만들어보는 것도 필요...

다음주차 과제 다짐
1) 구현 목표 정확히 공부하고 적용하기
2) 이미지 리소스 파일을 미리 구해보고 -> 설계한 후에 코드 작업하기

profile
why not?!?!

0개의 댓글