Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- wil
- tableview section별 다른 cell적용
- Value Type Reference Type
- firebase
- TableView Section
- SWIFT
- UIKit
- NavigationSearchBar
- Input Output
- til
- 양궁대회
- UserDefaults
- 롤케이크 자르기
- Carousel CollectionView
- coremotion
- 자료구조
- retain cycle
- class struct
- CoreData
- TableView
- 프로그래머스
- 면접을 위한 CS전공 지식 노트
- 면접을 위한 CS 전공 지식 노트 Tree
- 강한 참조 순환
- 테이블뷰 나누기
- @escaping
- ReferceCycle
- CarouselCollectionview
- Reference Cycle
- Array vs Linked List
Archives
- Today
- Total
개발하는 동글 :]
[WIL],[0731...0806] 본문
이번 주 목표
내일 배움 캠프 커리큘럼을 따라가며 커리큘럼의 내용 잘 흡수하기아이폰 Setting App UI에 디테일 한 부분 및 약간의 기능추가 해보기, [0730]- 프로토콜, [0730]
- 계산 속성, [0730]
- 접근 제어, [0730]
- 동기 비동기, [0730]
다음 주 목표
- 프로토콜, [0730]
- 계산 속성, [0730]
- 접근 제어, [0730]
- 동기 비동기, [0730]
내용
1. 내일 배움 캠프 커리큘럼을 따라가며 커리큘럼의 내용 잘 흡수하기
나와 스터디원들은 이번 주의 과제를 좀 더 높은 목표로 구현하는 것을 목표로 하였다.
그렇기에 시작된 기본 메모앱을 따라 만들어 보며 CRUD 및 화면 전환을 익힐 수 있었다.
생각했던 것보다 어렵고 시간이 많이 걸렸지만 메모앱을 따라 만들어보며 접하였던 부분들은 다음과 같다.
- UITableView
- UITableView Section
- CRUD
- ViewController 간의 데이터 전달
- UserDefault
- ToolBar
- Navigation Controller
- ViewController의 lifecycle
아쉬운 점
처음부터 데이터의 구조?를 잘 설계하고 접근하였다면 좀 더 편리하게 데이터를 처리할 수 있을 것 같다.
무작정 foldersection - folder - memosection - memo의 구조로 만들었는데 memosection 부분을
생략하여 메모의 날짜로 memosection을 사용할 때마다 분리하여 사용하는 것이 좀 더 용이할 것 같다.
또 한 상속을 하지 않는다면 구조체로 선언하는 것이 좀 더 좋았을 것 같다.
https://github.com/dongglehada/iPhoneMemoApp
코드
더보기
//
// model.swift
// iPhoneMemoApp
//
// Created by SeoJunYoung on 2023/08/01.
//
import Foundation
class FolderSection:Codable{
var sectionName:String
var folderDatas:[FolderData]
var isHidden = false
init(sectionName:String, folderDatas:[FolderData]){
self.sectionName = sectionName
self.folderDatas = folderDatas
}
}
class FolderData:Codable{
var name:String
var memoSection:[MemoSection]
var count:Int
init(name: String, memoSection:[MemoSection]) {
self.name = name
self.memoSection = memoSection
self.count = memoSection.map{$0.memoDatas.count}.reduce(0,+)
}
}
class MemoSection:Codable{
var sectionName:String
var memoDatas:[MemoData]
var isHidden = false
init(sectionName:String, memoDatas:[MemoData]) {
self.sectionName = sectionName
self.memoDatas = memoDatas
}
}
class MemoData:Codable{
var content:String
var date:String
var time:String
var info:String
var isPin = false
init(content: String, time: String, info: String, date: String) {
self.content = content
self.time = time
self.info = info
self.date = date
}
}