Skip to content

Commit 4a8bbf4

Browse files
committed
πŸ›[Fix]: Start ν”„λ‘œμ νŠΈ μˆ˜μ •
1 parent 81e7333 commit 4a8bbf4

File tree

13 files changed

+292
-92
lines changed

13 files changed

+292
-92
lines changed

β€ŽStart/SwiftDataTutorial/SwiftDataTutorial.xcodeproj/project.pbxprojβ€Ž

Lines changed: 56 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,28 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
8FD19B302A56B3B500049AEC /* TodoCreateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FD19B2F2A56B3B500049AEC /* TodoCreateView.swift */; };
1011
8FEDDD382A55D14200CEDE0A /* SwiftDataTutorialApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FEDDD372A55D14200CEDE0A /* SwiftDataTutorialApp.swift */; };
11-
8FEDDD3A2A55D14200CEDE0A /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FEDDD392A55D14200CEDE0A /* ContentView.swift */; };
12+
8FEDDD3A2A55D14200CEDE0A /* TodoListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FEDDD392A55D14200CEDE0A /* TodoListView.swift */; };
1213
8FEDDD3C2A55D14400CEDE0A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8FEDDD3B2A55D14400CEDE0A /* Assets.xcassets */; };
1314
8FEDDD3F2A55D14400CEDE0A /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8FEDDD3E2A55D14400CEDE0A /* Preview Assets.xcassets */; };
14-
8FEDDD412A55D14400CEDE0A /* Item.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FEDDD402A55D14400CEDE0A /* Item.swift */; };
15+
8FEDDD412A55D14400CEDE0A /* Todo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FEDDD402A55D14400CEDE0A /* Todo.swift */; };
16+
8FEDDD4D2A56A30900CEDE0A /* Color+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FEDDD4C2A56A30900CEDE0A /* Color+Extension.swift */; };
17+
8FF8446E2A56A61E006478BC /* TodoUpdateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8FF8446D2A56A61E006478BC /* TodoUpdateView.swift */; };
1518
/* End PBXBuildFile section */
1619

1720
/* Begin PBXFileReference section */
21+
8FD19B2F2A56B3B500049AEC /* TodoCreateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodoCreateView.swift; sourceTree = "<group>"; };
1822
8FEDDD342A55D14200CEDE0A /* SwiftDataTutorial.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SwiftDataTutorial.app; sourceTree = BUILT_PRODUCTS_DIR; };
1923
8FEDDD372A55D14200CEDE0A /* SwiftDataTutorialApp.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDataTutorialApp.swift; sourceTree = "<group>"; };
20-
8FEDDD392A55D14200CEDE0A /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = "<group>"; };
24+
8FEDDD392A55D14200CEDE0A /* TodoListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodoListView.swift; sourceTree = "<group>"; };
2125
8FEDDD3B2A55D14400CEDE0A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
2226
8FEDDD3E2A55D14400CEDE0A /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
23-
8FEDDD402A55D14400CEDE0A /* Item.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Item.swift; sourceTree = "<group>"; };
27+
8FEDDD402A55D14400CEDE0A /* Todo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Todo.swift; sourceTree = "<group>"; };
2428
8FEDDD422A55D14400CEDE0A /* SwiftDataTutorial.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = SwiftDataTutorial.entitlements; sourceTree = "<group>"; };
2529
8FEDDD432A55D14400CEDE0A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
30+
8FEDDD4C2A56A30900CEDE0A /* Color+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Color+Extension.swift"; sourceTree = "<group>"; };
31+
8FF8446D2A56A61E006478BC /* TodoUpdateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TodoUpdateView.swift; sourceTree = "<group>"; };
2632
/* End PBXFileReference section */
2733

2834
/* Begin PBXFrameworksBuildPhase section */
@@ -36,6 +42,41 @@
3642
/* End PBXFrameworksBuildPhase section */
3743

3844
/* Begin PBXGroup section */
45+
8FD19B2B2A56B31100049AEC /* Views */ = {
46+
isa = PBXGroup;
47+
children = (
48+
8FEDDD392A55D14200CEDE0A /* TodoListView.swift */,
49+
8FF8446D2A56A61E006478BC /* TodoUpdateView.swift */,
50+
8FD19B2F2A56B3B500049AEC /* TodoCreateView.swift */,
51+
);
52+
path = Views;
53+
sourceTree = "<group>";
54+
};
55+
8FD19B2C2A56B31800049AEC /* Resources */ = {
56+
isa = PBXGroup;
57+
children = (
58+
8FEDDD3B2A55D14400CEDE0A /* Assets.xcassets */,
59+
8FEDDD432A55D14400CEDE0A /* Info.plist */,
60+
);
61+
path = Resources;
62+
sourceTree = "<group>";
63+
};
64+
8FD19B2D2A56B35900049AEC /* Models */ = {
65+
isa = PBXGroup;
66+
children = (
67+
8FEDDD402A55D14400CEDE0A /* Todo.swift */,
68+
);
69+
path = Models;
70+
sourceTree = "<group>";
71+
};
72+
8FD19B2E2A56B36400049AEC /* Extension */ = {
73+
isa = PBXGroup;
74+
children = (
75+
8FEDDD4C2A56A30900CEDE0A /* Color+Extension.swift */,
76+
);
77+
path = Extension;
78+
sourceTree = "<group>";
79+
};
3980
8FEDDD2B2A55D14200CEDE0A = {
4081
isa = PBXGroup;
4182
children = (
@@ -56,12 +97,12 @@
5697
isa = PBXGroup;
5798
children = (
5899
8FEDDD372A55D14200CEDE0A /* SwiftDataTutorialApp.swift */,
59-
8FEDDD392A55D14200CEDE0A /* ContentView.swift */,
60-
8FEDDD3B2A55D14400CEDE0A /* Assets.xcassets */,
61-
8FEDDD402A55D14400CEDE0A /* Item.swift */,
62100
8FEDDD422A55D14400CEDE0A /* SwiftDataTutorial.entitlements */,
63-
8FEDDD432A55D14400CEDE0A /* Info.plist */,
64101
8FEDDD3D2A55D14400CEDE0A /* Preview Content */,
102+
8FD19B2C2A56B31800049AEC /* Resources */,
103+
8FD19B2B2A56B31100049AEC /* Views */,
104+
8FD19B2D2A56B35900049AEC /* Models */,
105+
8FD19B2E2A56B36400049AEC /* Extension */,
65106
);
66107
path = SwiftDataTutorial;
67108
sourceTree = "<group>";
@@ -144,9 +185,12 @@
144185
isa = PBXSourcesBuildPhase;
145186
buildActionMask = 2147483647;
146187
files = (
147-
8FEDDD3A2A55D14200CEDE0A /* ContentView.swift in Sources */,
148-
8FEDDD412A55D14400CEDE0A /* Item.swift in Sources */,
188+
8FD19B302A56B3B500049AEC /* TodoCreateView.swift in Sources */,
189+
8FEDDD3A2A55D14200CEDE0A /* TodoListView.swift in Sources */,
190+
8FEDDD412A55D14400CEDE0A /* Todo.swift in Sources */,
149191
8FEDDD382A55D14200CEDE0A /* SwiftDataTutorialApp.swift in Sources */,
192+
8FEDDD4D2A56A30900CEDE0A /* Color+Extension.swift in Sources */,
193+
8FF8446E2A56A61E006478BC /* TodoUpdateView.swift in Sources */,
150194
);
151195
runOnlyForDeploymentPostprocessing = 0;
152196
};
@@ -284,7 +328,7 @@
284328
DEVELOPMENT_TEAM = 62SDS28JUT;
285329
ENABLE_PREVIEWS = YES;
286330
GENERATE_INFOPLIST_FILE = YES;
287-
INFOPLIST_FILE = SwiftDataTutorial/Info.plist;
331+
INFOPLIST_FILE = SwiftDataTutorial/Resources/Info.plist;
288332
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
289333
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
290334
INFOPLIST_KEY_UILaunchScreen_Generation = YES;
@@ -315,7 +359,7 @@
315359
DEVELOPMENT_TEAM = 62SDS28JUT;
316360
ENABLE_PREVIEWS = YES;
317361
GENERATE_INFOPLIST_FILE = YES;
318-
INFOPLIST_FILE = SwiftDataTutorial/Info.plist;
362+
INFOPLIST_FILE = SwiftDataTutorial/Resources/Info.plist;
319363
INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
320364
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
321365
INFOPLIST_KEY_UILaunchScreen_Generation = YES;

β€ŽStart/SwiftDataTutorial/SwiftDataTutorial/ContentView.swiftβ€Ž

Lines changed: 0 additions & 60 deletions
This file was deleted.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//
2+
// Color+Extension.swift
3+
// SwiftDataTutorial
4+
//
5+
// Created by DOYEON JEONG on 2023/07/06.
6+
//
7+
8+
import SwiftUI
9+
10+
extension Color {
11+
init(hex: String) {
12+
let scanner = Scanner(string: hex)
13+
_ = scanner.scanString("#")
14+
15+
var rgb: UInt64 = 0
16+
scanner.scanHexInt64(&rgb)
17+
18+
let r = Double((rgb >> 16) & 0xFF) / 255.0
19+
let g = Double((rgb >> 8) & 0xFF) / 255.0
20+
let b = Double((rgb >> 0) & 0xFF) / 255.0
21+
self.init(red: r, green: g, blue: b)
22+
}
23+
}
24+
25+
extension Color {
26+
static let lightGray = Color(hex: "e1e1e1")
27+
}

β€ŽStart/SwiftDataTutorial/SwiftDataTutorial/Item.swiftβ€Ž

Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
//
2+
// Todo.swift
3+
// SwiftDataTutorial
4+
//
5+
// Created by DOYEON JEONG on 2023/07/06.
6+
//
7+
8+
// MARK: 1. λͺ¨λΈ μ •μ˜ν•˜κΈ°
9+
10+
import Foundation
11+
12+
// TODO: μ½”λ“œ μž…λ ₯ν•˜κΈ°
13+
final class Todo {
14+
var title: String
15+
var isDone: Bool
16+
var isImportant: Bool
17+
let timestamp: Date
18+
19+
init(title: String, isDone: Bool = false, isImportant: Bool = false) {
20+
self.title = title
21+
self.isDone = isDone
22+
self.isImportant = isImportant
23+
self.timestamp = .now
24+
}
25+
}

β€ŽStart/SwiftDataTutorial/SwiftDataTutorial/SwiftDataTutorialApp.swiftβ€Ž

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
// Created by DOYEON JEONG on 2023/07/06.
66
//
77

8+
// MARK: 2. μ»¨ν…Œμ΄λ„ˆ μ„€μ •ν•˜κΈ°
9+
810
import SwiftUI
911
import SwiftData
1012

@@ -13,8 +15,8 @@ struct SwiftDataTutorialApp: App {
1315

1416
var body: some Scene {
1517
WindowGroup {
16-
ContentView()
18+
TodoListView()
19+
// TODO: μ½”λ“œ μž…λ ₯ν•˜κΈ°
1720
}
18-
.modelContainer(for: Item.self)
1921
}
2022
}

0 commit comments

Comments
Β (0)