Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

일기장 [STEP 2] Idinaloq, Yetti #135

Draft
wants to merge 38 commits into
base: ic_9_yetti
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 34 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
76b0d09
feat: 코드베이스로 UI를 작성하기 위해 스토리보드 삭제 및 SceneDelegate에 rootViewController 추가
Aug 28, 2023
fab5b8f
feat:swiftLint 추가
idinaloq Aug 28, 2023
5d3d094
feat: CollectionView 생성 및 ListCell 구현중
Aug 29, 2023
93d6c80
feat: DiaryCollectionViewListCell 오토레이아웃 구현
idinaloq Aug 29, 2023
9c6dcf7
feat: DiaryEntity타입 생성 및 JSON파일 디코딩을 위한 메서드 구현
Aug 29, 2023
0455cbd
feat: 날짜 파싱, 네비게이션아이템 설정 추가
idinaloq Aug 29, 2023
69f5b06
feat: 레이아웃 조절 및 DiaryDetailViewController 생성
Aug 29, 2023
075ec7b
feat: DiaryDetailViewController 구현중
idinaloq Aug 29, 2023
43f55f0
feat: extension으로 DateFormatter 확장 및 키보드 사용을 위한 메서드 추가
Aug 30, 2023
2f7b5f7
feat: 다이어리 생성을 위한 NewDiaryViewController 추가
idinaloq Aug 30, 2023
10ed1ff
refactor: 컨벤션에 맞추어 리팩토링
Aug 30, 2023
5560262
refactor: 강제언래핑 수정
idinaloq Aug 30, 2023
9be4a06
refactor: scrollIndicatorInsets을 verticalScrollIndicatorInsets로 수정
Aug 30, 2023
5b1dfee
refactor: 리뷰에 따라 리팩토링 진행
Aug 30, 2023
7a4276b
refactor: KeyboardManager로 중복코드 간소화, TimeZone을 current로 받아오도록 수정
idinaloq Aug 31, 2023
1478268
feat: LocaleIdentifier 추가 및 formatDate()가 locale 매개변수로 받아오도록 수정
idinaloq Aug 31, 2023
8fa4d88
refactor: step1(2차) 리뷰 반영하여 수정
Sep 1, 2023
76d4841
refactor: hitCreateNewDiaryButton -> createNewDiaryButtonTapped 네이밍 수정
idinaloq Sep 1, 2023
b689f43
docs: 일기장 프로젝트 1주차 리드미 작성
iOS-Yetti Sep 1, 2023
a4cc0bf
feat: CoreData 생성 및 textView에 키보드 기능추가
Sep 5, 2023
4d7d292
test: CoreData Test용 코드 커밋
idinaloq Sep 5, 2023
c9efa17
feat: CoreData 저장과 불러오기 기능 구현
Sep 6, 2023
e841701
feat: DetailViewController에서 CoreData를 받아와서 수정하는 로직 추가
idinaloq Sep 6, 2023
5e3dbb6
refactor: CoreData CRUD 관련 코드 리팩토링
Sep 6, 2023
ae6c092
feat: swipe, CoreData Delete 추가
idinaloq Sep 7, 2023
24792bf
docs: 프로젝트 2주차 README 작성
iOS-Yetti Sep 8, 2023
378aa19
feat: 더 보기 버튼 추가
idinaloq Sep 8, 2023
c5971ad
feat: delete버튼 눌렀을 때 삭제 기능 추가
Sep 8, 2023
153b98e
refactor: createDiary 로직 변경
idinaloq Sep 8, 2023
0a0fe92
refactor: CoreDataManager 리팩토링
idinaloq Sep 11, 2023
300176c
refactor: CRUD 기능 리팩토링
Sep 11, 2023
abb11c3
refactor: AlertManager관련코드 수정, DetailViewController의 body, title부분 작성중
idinaloq Sep 12, 2023
43d423d
refactor: textView 데이터 CRUD 기능 리팩토링
Sep 12, 2023
cedb035
refactor: TextView 리팩토링
Sep 13, 2023
dc84a76
docs: 3주차 README 작성
idinaloq Sep 15, 2023
61b3455
Update README.md
idinaloq Sep 15, 2023
1955a28
Update README.md
idinaloq Sep 15, 2023
ee1e8cc
refactor: textViewDidEndEditing() 메서드 기능분리
Sep 16, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .swiftlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
disabled_rules:
- trailing_whitespace
- line_length
- force_cast

excluded:
- Diary/Application/AppDelegate.swift
- Diary/Application/SceneDelegate.swift


14 changes: 14 additions & 0 deletions Diary+CoreDataClass.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
//
// Diary+CoreDataClass.swift
// Diary
//
// Created by 예찬 on 2023/09/05.
//
//

import Foundation
import CoreData

@objc(Diary)
public class Diary: NSManagedObject {
}
25 changes: 25 additions & 0 deletions Diary+CoreDataProperties.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
//
// Diary+CoreDataProperties.swift
// Diary
//
// Created by 예찬 on 2023/09/05.
//
//

import Foundation
import CoreData

extension Diary {

@nonobjc public class func fetchRequest() -> NSFetchRequest<Diary> {
return NSFetchRequest<Diary>(entityName: "Diary")
}

@NSManaged public var createdAt: String?
@NSManaged public var title: String?
@NSManaged public var body: String?
@NSManaged public var identifier: UUID?
}

extension Diary: Identifiable {
}
199 changes: 169 additions & 30 deletions Diary.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

77 changes: 77 additions & 0 deletions Diary.xcodeproj/xcshareddata/xcschemes/Diary.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1430"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C739AE20284DF28600741E8F"
BuildableName = "Diary.app"
BlueprintName = "Diary"
ReferencedContainer = "container:Diary.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C739AE20284DF28600741E8F"
BuildableName = "Diary.app"
BlueprintName = "Diary"
ReferencedContainer = "container:Diary.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "C739AE20284DF28600741E8F"
BuildableName = "Diary.app"
BlueprintName = "Diary"
ReferencedContainer = "container:Diary.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
80 changes: 0 additions & 80 deletions Diary/AppDelegate.swift

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="21754" systemVersion="22F82" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
<entity name="Diary" representedClassName="Diary" syncable="YES">
<attribute name="body" optional="YES" attributeType="String" customClassName="[String]"/>
<attribute name="createdAt" optional="YES" attributeType="String"/>
<attribute name="identifier" optional="YES" attributeType="UUID" usesScalarValueType="NO"/>
<attribute name="title" optional="YES" attributeType="String"/>
</entity>
</model>
16 changes: 16 additions & 0 deletions Diary/Application/AppDelegate.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
//
// Diary - AppDelegate.swift
// Created by yagom.
// Copyright © yagom. All rights reserved.
//

import UIKit
import CoreData

@main
final class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
return true
}
}
22 changes: 22 additions & 0 deletions Diary/Application/SceneDelegate.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
//
// Diary - SceneDelegate.swift
// Created by yagom.
// Copyright © yagom. All rights reserved.
//

import UIKit

final class SceneDelegate: UIResponder, UIWindowSceneDelegate {

var window: UIWindow?

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(windowScene: windowScene)
let mainViewController: UIViewController = DiaryListViewController()

let navigationController = UINavigationController(rootViewController: mainViewController)
window?.rootViewController = navigationController
window?.makeKeyAndVisible()
}
}
24 changes: 0 additions & 24 deletions Diary/Base.lproj/Main.storyboard

This file was deleted.

Loading