diff --git a/README.md b/README.md
deleted file mode 100644
index 2f1e30e..0000000
--- a/README.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# ๐ iOS_Study_A
-SSUMC 5๊ธฐ iOS ์คํฐ๋ A์กฐ
-
-
-
-## ๐ป Member
-| ๊น์๋ฏผ | ๊น๋ฏผ์ง | ๋ฐํ์ | ์ ํ๋ฆผ |
-| :---------:|:----------:|:----------:|:----------:|
-| ๋ฃจ์ | ๋ฏธ๋ | ์ฒ | ์ ๋ก |
-| [kimsoomin20221789](https://github.com/kimsoomin20221789) | [kxmmxnzx](https://github.com/kxmmxnzx) | [00yhsp](https://github.com/00yhsp) | [tlsgPFla](https://github.com/tlsgPFla) |
-
-## ๐ Workbook (ํ๋ฆฌ๋ง์คํฐ)
-| ์ฃผ์ฐจ | ๋ด์ฉ | ๋ฏธ์
|
-| --- | --- | --- |
-| 1์ฃผ์ฐจ | `Platform` | ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ ํ ํ๋ฉด ๊ตฌํํ๊ธฐ(1) |
-| 2์ฃผ์ฐจ | `AutoLayout` | ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ ํ ํ๋ฉด ๊ตฌํํ๊ธฐ(2) |
-| 3์ฃผ์ฐจ | `TableView & CollectionView` | ๋น๊ทผ๋ง์ผ ํ ํ๋ฉด ๊ตฌํํ๊ธฐ(1) |
-| 4์ฃผ์ฐจ | `ScrollView` | ๋น๊ทผ๋ง์ผ ํ ํ๋ฉด ๊ตฌํํ๊ธฐ(2) |
-| 5์ฃผ์ฐจ | `View Transition with Data` | ๋ฐฐ๋ฌ์ ๋ฏผ์กฑ ์ฅ๋ฐ๊ตฌ๋๋ก ๋ฐ์ดํฐ ๋๊ธฐ |
-| 6์ฃผ์ฐจ | `Open Source` | ๋ผ์ด๋ธ๋ฌ๋ฆฌ 2๊ฐ ์ด์ ์ฌ์ฉํด์ ๋ทฐ ๋ง๋ค๊ธฐ |
-| 7์ฃผ์ฐจ | `Token & Social Login` | ์นด์นด์ค ๋ก๊ทธ์ธ ๊ตฌํํ๊ธฐ |
-| 8์ฃผ์ฐจ | `DB & DBMS` | ๊ฐ๋จํ ๋ก๊ทธ์ธ, ํ์๊ฐ์
ํ๋ฉด ๋ง๋ค๊ธฐ - UserDefaults |
-| 9์ฃผ์ฐจ | `Network` | Open API ํ์ฉํ๊ธฐ |
-| 9์ฃผ์ฐจ | `Instagram Clone Coding` | ์ธ์คํ๊ทธ๋จ ํด๋ก ์ฝ๋ฉํ๊ธฐ |
-
-## ๐ณ branch ๊ท์น
-`๋๋ค์/์ฃผ์ฐจ`
-
-
- ex) bibi/week1
-
-## ๐พ Udemy
-- https://www.udemy.com/course/comgongbro_ios_clonecoding/
diff --git a/iOS_Study_A.xcodeproj/xcuserdata/jiyoon.xcuserdatad/xcschemes/xcschememanagement.plist b/iOS_Study_A.xcodeproj/xcuserdata/jiyoon.xcuserdatad/xcschemes/xcschememanagement.plist
deleted file mode 100644
index d6ece4b..0000000
--- a/iOS_Study_A.xcodeproj/xcuserdata/jiyoon.xcuserdatad/xcschemes/xcschememanagement.plist
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- SchemeUserState
-
- iOS_Study_A.xcscheme_^#shared#^_
-
- orderHint
- 0
-
-
-
-
diff --git a/iOS_Study_A/AppDelegate.swift b/iOS_Study_A/AppDelegate.swift
deleted file mode 100644
index a37563b..0000000
--- a/iOS_Study_A/AppDelegate.swift
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// AppDelegate.swift
-// iOS_Study_A
-//
-// Created by ๋ฐ์ง์ค on 2023/09/28.
-//
-
-import UIKit
-
-@main
-class AppDelegate: UIResponder, UIApplicationDelegate {
-
-
-
- func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
- // Override point for customization after application launch.
- return true
- }
-
- // MARK: UISceneSession Lifecycle
-
- func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
- // Called when a new scene session is being created.
- // Use this method to select a configuration to create the new scene with.
- return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
- }
-
- func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) {
- // Called when the user discards a scene session.
- // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
- // Use this method to release any resources that were specific to the discarded scenes, as they will not return.
- }
-
-
-}
-
diff --git a/iOS_Study_A/Base.lproj/LaunchScreen.storyboard b/iOS_Study_A/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644
index 865e932..0000000
--- a/iOS_Study_A/Base.lproj/LaunchScreen.storyboard
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/iOS_Study_A/Base.lproj/Main.storyboard b/iOS_Study_A/Base.lproj/Main.storyboard
deleted file mode 100644
index 25a7638..0000000
--- a/iOS_Study_A/Base.lproj/Main.storyboard
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/iOS_Study_A/Info.plist b/iOS_Study_A/Info.plist
deleted file mode 100644
index dd3c9af..0000000
--- a/iOS_Study_A/Info.plist
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
- UIApplicationSceneManifest
-
- UIApplicationSupportsMultipleScenes
-
- UISceneConfigurations
-
- UIWindowSceneSessionRoleApplication
-
-
- UISceneConfigurationName
- Default Configuration
- UISceneDelegateClassName
- $(PRODUCT_MODULE_NAME).SceneDelegate
- UISceneStoryboardFile
- Main
-
-
-
-
-
-
diff --git a/iOS_Study_A/SceneDelegate.swift b/iOS_Study_A/SceneDelegate.swift
deleted file mode 100644
index aaf78de..0000000
--- a/iOS_Study_A/SceneDelegate.swift
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// SceneDelegate.swift
-// iOS_Study_A
-//
-// Created by ๋ฐ์ง์ค on 2023/09/28.
-//
-
-import UIKit
-
-class SceneDelegate: UIResponder, UIWindowSceneDelegate {
-
- var window: UIWindow?
-
-
- func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
- // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`.
- // If using a storyboard, the `window` property will automatically be initialized and attached to the scene.
- // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead).
- guard let _ = (scene as? UIWindowScene) else { return }
- }
-
- func sceneDidDisconnect(_ scene: UIScene) {
- // Called as the scene is being released by the system.
- // This occurs shortly after the scene enters the background, or when its session is discarded.
- // Release any resources associated with this scene that can be re-created the next time the scene connects.
- // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead).
- }
-
- func sceneDidBecomeActive(_ scene: UIScene) {
- // Called when the scene has moved from an inactive state to an active state.
- // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive.
- }
-
- func sceneWillResignActive(_ scene: UIScene) {
- // Called when the scene will move from an active state to an inactive state.
- // This may occur due to temporary interruptions (ex. an incoming phone call).
- }
-
- func sceneWillEnterForeground(_ scene: UIScene) {
- // Called as the scene transitions from the background to the foreground.
- // Use this method to undo the changes made on entering the background.
- }
-
- func sceneDidEnterBackground(_ scene: UIScene) {
- // Called as the scene transitions from the foreground to the background.
- // Use this method to save data, release shared resources, and store enough scene-specific state information
- // to restore the scene back to its current state.
- }
-
-
-}
-
diff --git a/iOS_Study_A/ViewController.swift b/iOS_Study_A/ViewController.swift
deleted file mode 100644
index 0804a27..0000000
--- a/iOS_Study_A/ViewController.swift
+++ /dev/null
@@ -1,19 +0,0 @@
-//
-// ViewController.swift
-// iOS_Study_A
-//
-// Created by ๋ฐ์ง์ค on 2023/09/28.
-//
-
-import UIKit
-
-class ViewController: UIViewController {
-
- override func viewDidLoad() {
- super.viewDidLoad()
- // Do any additional setup after loading the view.
- }
-
-
-}
-
diff --git a/iOS_Study_A.xcodeproj/project.pbxproj b/week7/week7.xcodeproj/project.pbxproj
similarity index 60%
rename from iOS_Study_A.xcodeproj/project.pbxproj
rename to week7/week7.xcodeproj/project.pbxproj
index 1f5c336..3b04a3f 100644
--- a/iOS_Study_A.xcodeproj/project.pbxproj
+++ b/week7/week7.xcodeproj/project.pbxproj
@@ -7,27 +7,22 @@
objects = {
/* Begin PBXBuildFile section */
- 954B6B612AC57BE100FDCFAB /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954B6B602AC57BE100FDCFAB /* AppDelegate.swift */; };
- 954B6B632AC57BE100FDCFAB /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954B6B622AC57BE100FDCFAB /* SceneDelegate.swift */; };
- 954B6B652AC57BE100FDCFAB /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 954B6B642AC57BE100FDCFAB /* ViewController.swift */; };
- 954B6B682AC57BE100FDCFAB /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 954B6B662AC57BE100FDCFAB /* Main.storyboard */; };
- 954B6B6A2AC57BE200FDCFAB /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 954B6B692AC57BE200FDCFAB /* Assets.xcassets */; };
- 954B6B6D2AC57BE200FDCFAB /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 954B6B6B2AC57BE200FDCFAB /* LaunchScreen.storyboard */; };
+ DF27E0C32B1457AC00DDED58 /* week7App.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF27E0C22B1457AC00DDED58 /* week7App.swift */; };
+ DF27E0C52B1457AC00DDED58 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = DF27E0C42B1457AC00DDED58 /* ContentView.swift */; };
+ DF27E0C72B1457AE00DDED58 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DF27E0C62B1457AE00DDED58 /* Assets.xcassets */; };
+ DF27E0CA2B1457AE00DDED58 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DF27E0C92B1457AE00DDED58 /* Preview Assets.xcassets */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
- 954B6B5D2AC57BE100FDCFAB /* iOS_Study_A.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iOS_Study_A.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 954B6B602AC57BE100FDCFAB /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
- 954B6B622AC57BE100FDCFAB /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; };
- 954B6B642AC57BE100FDCFAB /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
- 954B6B672AC57BE100FDCFAB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
- 954B6B692AC57BE200FDCFAB /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
- 954B6B6C2AC57BE200FDCFAB /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
- 954B6B6E2AC57BE200FDCFAB /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ DF27E0BF2B1457AC00DDED58 /* week7.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = week7.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ DF27E0C22B1457AC00DDED58 /* week7App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = week7App.swift; sourceTree = ""; };
+ DF27E0C42B1457AC00DDED58 /* ContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ContentView.swift; sourceTree = ""; };
+ DF27E0C62B1457AE00DDED58 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ DF27E0C92B1457AE00DDED58 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
- 954B6B5A2AC57BE100FDCFAB /* Frameworks */ = {
+ DF27E0BC2B1457AC00DDED58 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
@@ -37,72 +32,77 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 954B6B542AC57BE100FDCFAB = {
+ DF27E0B62B1457AC00DDED58 = {
isa = PBXGroup;
children = (
- 954B6B5F2AC57BE100FDCFAB /* iOS_Study_A */,
- 954B6B5E2AC57BE100FDCFAB /* Products */,
+ DF27E0C12B1457AC00DDED58 /* week7 */,
+ DF27E0C02B1457AC00DDED58 /* Products */,
);
sourceTree = "";
};
- 954B6B5E2AC57BE100FDCFAB /* Products */ = {
+ DF27E0C02B1457AC00DDED58 /* Products */ = {
isa = PBXGroup;
children = (
- 954B6B5D2AC57BE100FDCFAB /* iOS_Study_A.app */,
+ DF27E0BF2B1457AC00DDED58 /* week7.app */,
);
name = Products;
sourceTree = "";
};
- 954B6B5F2AC57BE100FDCFAB /* iOS_Study_A */ = {
+ DF27E0C12B1457AC00DDED58 /* week7 */ = {
isa = PBXGroup;
children = (
- 954B6B602AC57BE100FDCFAB /* AppDelegate.swift */,
- 954B6B622AC57BE100FDCFAB /* SceneDelegate.swift */,
- 954B6B642AC57BE100FDCFAB /* ViewController.swift */,
- 954B6B662AC57BE100FDCFAB /* Main.storyboard */,
- 954B6B692AC57BE200FDCFAB /* Assets.xcassets */,
- 954B6B6B2AC57BE200FDCFAB /* LaunchScreen.storyboard */,
- 954B6B6E2AC57BE200FDCFAB /* Info.plist */,
+ DF27E0C22B1457AC00DDED58 /* week7App.swift */,
+ DF27E0C42B1457AC00DDED58 /* ContentView.swift */,
+ DF27E0C62B1457AE00DDED58 /* Assets.xcassets */,
+ DF27E0C82B1457AE00DDED58 /* Preview Content */,
);
- path = iOS_Study_A;
+ path = week7;
+ sourceTree = "";
+ };
+ DF27E0C82B1457AE00DDED58 /* Preview Content */ = {
+ isa = PBXGroup;
+ children = (
+ DF27E0C92B1457AE00DDED58 /* Preview Assets.xcassets */,
+ );
+ path = "Preview Content";
sourceTree = "";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
- 954B6B5C2AC57BE100FDCFAB /* iOS_Study_A */ = {
+ DF27E0BE2B1457AC00DDED58 /* week7 */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 954B6B712AC57BE200FDCFAB /* Build configuration list for PBXNativeTarget "iOS_Study_A" */;
+ buildConfigurationList = DF27E0CD2B1457AE00DDED58 /* Build configuration list for PBXNativeTarget "week7" */;
buildPhases = (
- 954B6B592AC57BE100FDCFAB /* Sources */,
- 954B6B5A2AC57BE100FDCFAB /* Frameworks */,
- 954B6B5B2AC57BE100FDCFAB /* Resources */,
+ DF27E0BB2B1457AC00DDED58 /* Sources */,
+ DF27E0BC2B1457AC00DDED58 /* Frameworks */,
+ DF27E0BD2B1457AC00DDED58 /* Resources */,
);
buildRules = (
);
dependencies = (
);
- name = iOS_Study_A;
- productName = iOS_Study_A;
- productReference = 954B6B5D2AC57BE100FDCFAB /* iOS_Study_A.app */;
+ name = week7;
+ productName = week7;
+ productReference = DF27E0BF2B1457AC00DDED58 /* week7.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
- 954B6B552AC57BE100FDCFAB /* Project object */ = {
+ DF27E0B72B1457AC00DDED58 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastSwiftUpdateCheck = 1430;
LastUpgradeCheck = 1430;
TargetAttributes = {
- 954B6B5C2AC57BE100FDCFAB = {
+ DF27E0BE2B1457AC00DDED58 = {
CreatedOnToolsVersion = 14.3.1;
};
};
};
- buildConfigurationList = 954B6B582AC57BE100FDCFAB /* Build configuration list for PBXProject "iOS_Study_A" */;
+ buildConfigurationList = DF27E0BA2B1457AC00DDED58 /* Build configuration list for PBXProject "week7" */;
compatibilityVersion = "Xcode 14.0";
developmentRegion = en;
hasScannedForEncodings = 0;
@@ -110,63 +110,42 @@
en,
Base,
);
- mainGroup = 954B6B542AC57BE100FDCFAB;
- productRefGroup = 954B6B5E2AC57BE100FDCFAB /* Products */;
+ mainGroup = DF27E0B62B1457AC00DDED58;
+ productRefGroup = DF27E0C02B1457AC00DDED58 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
- 954B6B5C2AC57BE100FDCFAB /* iOS_Study_A */,
+ DF27E0BE2B1457AC00DDED58 /* week7 */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
- 954B6B5B2AC57BE100FDCFAB /* Resources */ = {
+ DF27E0BD2B1457AC00DDED58 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 954B6B6D2AC57BE200FDCFAB /* LaunchScreen.storyboard in Resources */,
- 954B6B6A2AC57BE200FDCFAB /* Assets.xcassets in Resources */,
- 954B6B682AC57BE100FDCFAB /* Main.storyboard in Resources */,
+ DF27E0CA2B1457AE00DDED58 /* Preview Assets.xcassets in Resources */,
+ DF27E0C72B1457AE00DDED58 /* Assets.xcassets in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
- 954B6B592AC57BE100FDCFAB /* Sources */ = {
+ DF27E0BB2B1457AC00DDED58 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 954B6B652AC57BE100FDCFAB /* ViewController.swift in Sources */,
- 954B6B612AC57BE100FDCFAB /* AppDelegate.swift in Sources */,
- 954B6B632AC57BE100FDCFAB /* SceneDelegate.swift in Sources */,
+ DF27E0C52B1457AC00DDED58 /* ContentView.swift in Sources */,
+ DF27E0C32B1457AC00DDED58 /* week7App.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
-/* Begin PBXVariantGroup section */
- 954B6B662AC57BE100FDCFAB /* Main.storyboard */ = {
- isa = PBXVariantGroup;
- children = (
- 954B6B672AC57BE100FDCFAB /* Base */,
- );
- name = Main.storyboard;
- sourceTree = "";
- };
- 954B6B6B2AC57BE200FDCFAB /* LaunchScreen.storyboard */ = {
- isa = PBXVariantGroup;
- children = (
- 954B6B6C2AC57BE200FDCFAB /* Base */,
- );
- name = LaunchScreen.storyboard;
- sourceTree = "";
- };
-/* End PBXVariantGroup section */
-
/* Begin XCBuildConfiguration section */
- 954B6B6F2AC57BE200FDCFAB /* Debug */ = {
+ DF27E0CB2B1457AE00DDED58 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -226,7 +205,7 @@
};
name = Debug;
};
- 954B6B702AC57BE200FDCFAB /* Release */ = {
+ DF27E0CC2B1457AE00DDED58 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -280,18 +259,19 @@
};
name = Release;
};
- 954B6B722AC57BE200FDCFAB /* Debug */ = {
+ DF27E0CE2B1457AE00DDED58 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
+ DEVELOPMENT_ASSET_PATHS = "\"week7/Preview Content\"";
+ ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_FILE = iOS_Study_A/Info.plist;
+ INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
- INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
- INFOPLIST_KEY_UIMainStoryboardFile = Main;
+ INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
LD_RUNPATH_SEARCH_PATHS = (
@@ -299,7 +279,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = "jiyoon.iOS-Study-A";
+ PRODUCT_BUNDLE_IDENTIFIER = com.umcstudy.week7;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
@@ -307,18 +287,19 @@
};
name = Debug;
};
- 954B6B732AC57BE200FDCFAB /* Release */ = {
+ DF27E0CF2B1457AE00DDED58 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
+ DEVELOPMENT_ASSET_PATHS = "\"week7/Preview Content\"";
+ ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
- INFOPLIST_FILE = iOS_Study_A/Info.plist;
+ INFOPLIST_KEY_UIApplicationSceneManifest_Generation = YES;
INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES;
- INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen;
- INFOPLIST_KEY_UIMainStoryboardFile = Main;
+ INFOPLIST_KEY_UILaunchScreen_Generation = YES;
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight";
LD_RUNPATH_SEARCH_PATHS = (
@@ -326,7 +307,7 @@
"@executable_path/Frameworks",
);
MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = "jiyoon.iOS-Study-A";
+ PRODUCT_BUNDLE_IDENTIFIER = com.umcstudy.week7;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
@@ -337,25 +318,25 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
- 954B6B582AC57BE100FDCFAB /* Build configuration list for PBXProject "iOS_Study_A" */ = {
+ DF27E0BA2B1457AC00DDED58 /* Build configuration list for PBXProject "week7" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 954B6B6F2AC57BE200FDCFAB /* Debug */,
- 954B6B702AC57BE200FDCFAB /* Release */,
+ DF27E0CB2B1457AE00DDED58 /* Debug */,
+ DF27E0CC2B1457AE00DDED58 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 954B6B712AC57BE200FDCFAB /* Build configuration list for PBXNativeTarget "iOS_Study_A" */ = {
+ DF27E0CD2B1457AE00DDED58 /* Build configuration list for PBXNativeTarget "week7" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 954B6B722AC57BE200FDCFAB /* Debug */,
- 954B6B732AC57BE200FDCFAB /* Release */,
+ DF27E0CE2B1457AE00DDED58 /* Debug */,
+ DF27E0CF2B1457AE00DDED58 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
- rootObject = 954B6B552AC57BE100FDCFAB /* Project object */;
+ rootObject = DF27E0B72B1457AC00DDED58 /* Project object */;
}
diff --git a/iOS_Study_A.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/week7/week7.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 100%
rename from iOS_Study_A.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to week7/week7.xcodeproj/project.xcworkspace/contents.xcworkspacedata
diff --git a/iOS_Study_A.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/week7/week7.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
similarity index 100%
rename from iOS_Study_A.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
rename to week7/week7.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
diff --git a/iOS_Study_A/Assets.xcassets/AccentColor.colorset/Contents.json b/week7/week7/Assets.xcassets/AccentColor.colorset/Contents.json
similarity index 100%
rename from iOS_Study_A/Assets.xcassets/AccentColor.colorset/Contents.json
rename to week7/week7/Assets.xcassets/AccentColor.colorset/Contents.json
diff --git a/iOS_Study_A/Assets.xcassets/AppIcon.appiconset/Contents.json b/week7/week7/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from iOS_Study_A/Assets.xcassets/AppIcon.appiconset/Contents.json
rename to week7/week7/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/iOS_Study_A/Assets.xcassets/Contents.json b/week7/week7/Assets.xcassets/Contents.json
similarity index 100%
rename from iOS_Study_A/Assets.xcassets/Contents.json
rename to week7/week7/Assets.xcassets/Contents.json
diff --git a/week7/week7/Assets.xcassets/blue.imageset/Contents.json b/week7/week7/Assets.xcassets/blue.imageset/Contents.json
new file mode 100644
index 0000000..a993763
--- /dev/null
+++ b/week7/week7/Assets.xcassets/blue.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "filename" : "blue.jpeg",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/week7/week7/Assets.xcassets/blue.imageset/blue.jpeg b/week7/week7/Assets.xcassets/blue.imageset/blue.jpeg
new file mode 100644
index 0000000..664987c
Binary files /dev/null and b/week7/week7/Assets.xcassets/blue.imageset/blue.jpeg differ
diff --git a/week7/week7/Assets.xcassets/green.imageset/Contents.json b/week7/week7/Assets.xcassets/green.imageset/Contents.json
new file mode 100644
index 0000000..f6414ff
--- /dev/null
+++ b/week7/week7/Assets.xcassets/green.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "filename" : "green.jpeg",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/week7/week7/Assets.xcassets/green.imageset/green.jpeg b/week7/week7/Assets.xcassets/green.imageset/green.jpeg
new file mode 100644
index 0000000..7f33629
Binary files /dev/null and b/week7/week7/Assets.xcassets/green.imageset/green.jpeg differ
diff --git a/week7/week7/Assets.xcassets/icetray.imageset/Contents.json b/week7/week7/Assets.xcassets/icetray.imageset/Contents.json
new file mode 100644
index 0000000..19fca0c
--- /dev/null
+++ b/week7/week7/Assets.xcassets/icetray.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "filename" : "icetray.jpeg",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/week7/week7/Assets.xcassets/icetray.imageset/icetray.jpeg b/week7/week7/Assets.xcassets/icetray.imageset/icetray.jpeg
new file mode 100644
index 0000000..c180cef
Binary files /dev/null and b/week7/week7/Assets.xcassets/icetray.imageset/icetray.jpeg differ
diff --git a/week7/week7/Assets.xcassets/pink.imageset/Contents.json b/week7/week7/Assets.xcassets/pink.imageset/Contents.json
new file mode 100644
index 0000000..eb87a6c
--- /dev/null
+++ b/week7/week7/Assets.xcassets/pink.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "filename" : "pink.jpeg",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/week7/week7/Assets.xcassets/pink.imageset/pink.jpeg b/week7/week7/Assets.xcassets/pink.imageset/pink.jpeg
new file mode 100644
index 0000000..357f0c1
Binary files /dev/null and b/week7/week7/Assets.xcassets/pink.imageset/pink.jpeg differ
diff --git a/week7/week7/Assets.xcassets/silver.imageset/Contents.json b/week7/week7/Assets.xcassets/silver.imageset/Contents.json
new file mode 100644
index 0000000..381e1bc
--- /dev/null
+++ b/week7/week7/Assets.xcassets/silver.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "filename" : "silver.jpeg",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/week7/week7/Assets.xcassets/silver.imageset/silver.jpeg b/week7/week7/Assets.xcassets/silver.imageset/silver.jpeg
new file mode 100644
index 0000000..94d38c8
Binary files /dev/null and b/week7/week7/Assets.xcassets/silver.imageset/silver.jpeg differ
diff --git a/week7/week7/Assets.xcassets/spaceGray.imageset/Contents.json b/week7/week7/Assets.xcassets/spaceGray.imageset/Contents.json
new file mode 100644
index 0000000..237e7a4
--- /dev/null
+++ b/week7/week7/Assets.xcassets/spaceGray.imageset/Contents.json
@@ -0,0 +1,21 @@
+{
+ "images" : [
+ {
+ "filename" : "spaceGray.jpeg",
+ "idiom" : "universal",
+ "scale" : "1x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "2x"
+ },
+ {
+ "idiom" : "universal",
+ "scale" : "3x"
+ }
+ ],
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/week7/week7/Assets.xcassets/spaceGray.imageset/spaceGray.jpeg b/week7/week7/Assets.xcassets/spaceGray.imageset/spaceGray.jpeg
new file mode 100644
index 0000000..5695248
Binary files /dev/null and b/week7/week7/Assets.xcassets/spaceGray.imageset/spaceGray.jpeg differ
diff --git a/week7/week7/ContentView.swift b/week7/week7/ContentView.swift
new file mode 100644
index 0000000..7a90f30
--- /dev/null
+++ b/week7/week7/ContentView.swift
@@ -0,0 +1,195 @@
+//
+// ContentView.swift
+// week7
+//
+// Created by ๋ฐํ์ on 2023/11/27.
+//
+
+import SwiftUI
+
+struct Product: Identifiable {
+ let id = UUID()
+ let name: String
+ let image: String
+ let location: String
+ let date: String
+ let price: String
+}
+
+struct ProductView: View {
+ let product: Product
+
+ init(product: Product) {
+ self.product = product
+ }
+
+ var body: some View {
+ HStack{
+ Image(product.image)
+ VStack{
+ Text(product.name)
+ HStack {
+ Text(product.location)
+ Text(product.date)
+ }
+ }
+
+ }
+ }
+}
+
+struct IceTrayProductView: View {
+ var body: some View {
+ VStack {
+ Image("icetray")
+ .resizable()
+ .frame(width: 100, height: 100)
+ .cornerRadius(10)
+ HStack {
+ Text("์ผ์ํ")
+ Spacer()
+ }
+ HStack {
+ Text("3,000์").font(.headline)
+ Spacer()
+ }
+ }
+ }
+}
+
+struct ProductScrollView: View {
+ var body: some View {
+ VStack {
+ Spacer()
+ HStack {
+ Text("์์ํ ์ฌ๋ฆ ๊ฐ์์ ๊ณ์ ").font(.headline)
+ Spacer()
+ Image(systemName: "chevron.right")
+ }
+ }
+ ScrollView(.horizontal) {
+ HStack {
+ ForEach(0..<20) { _ in
+ IceTrayProductView()
+ .padding(5)
+ }
+ }
+ }.listRowSeparator(.hidden, edges: .top)
+ }
+}
+
+struct HomeView: View {
+ var products = [
+ Product(name: "์์ดํ๋งฅ์ค ๋ธ๋ฃจ", image: "blue", location: "์์ธํน๋ณ์ ์์ฒ๊ตฌ", date: "3์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ์ค๋ฒ", image: "silver", location: "์์ธํน๋ณ์ ๋์๊ตฌ", date: "6์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ์คํ์ด์ค๊ทธ๋ ์ด", image: "spaceGray", location: "์์ธํน๋ณ์ ์์ฒ๊ตฌ", date: "3์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ํํฌ", image: "pink", location: "์์ธํน๋ณ์ ๋์๊ตฌ", date: "6์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ๊ทธ๋ฆฐ", image: "green", location: "์์ธํน๋ณ์ ์์ฒ๊ตฌ", date: "3์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ์ค๋ฒ", image: "silver", location: "์์ธํน๋ณ์ ๋์๊ตฌ", date: "6์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ์คํ์ด์ค๊ทธ๋ ์ด", image: "spaceGray", location: "์์ธํน๋ณ์ ์์ฒ๊ตฌ", date: "3์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ํํฌ", image: "pink", location: "์์ธํน๋ณ์ ๋์๊ตฌ", date: "6์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ๊ทธ๋ฆฐ", image: "green", location: "์์ธํน๋ณ์ ์์ฒ๊ตฌ", date: "3์ผ ์ ", price: "300,000์"),
+ Product(name: "์์ดํ๋งฅ์ค ๋ธ๋ฃจ", image: "blue", location: "์์ธํน๋ณ์ ๋์๊ตฌ", date: "6์ผ ์ ", price: "300,000์")
+ ]
+
+ var body: some View {
+ List(products.indices) { index in
+ HStack {
+ Image(products[index].image)
+ .resizable()
+ .frame(width: 100, height: 100)
+ VStack{
+ HStack {
+ Text(products[index].name).padding(.leading)
+ Spacer()
+ }
+ HStack {
+ Text(products[index].location).padding(.horizontal)
+ .foregroundColor(Color.gray)
+ .font(.system(size: 15))
+ Text(products[index].date)
+ .foregroundColor(Color.gray)
+ .font(.system(size: 15))
+ Spacer()
+ }
+ HStack {
+ Text(products[index].price).font(.headline).padding(.leading)
+ Spacer()
+ }
+ HStack {
+ Spacer()
+ Image(systemName: "message")
+ Text("5")
+ Image(systemName: "heart")
+ Text("23")
+ }.foregroundColor(Color.gray)
+ }
+
+ }
+ if index == 2 {
+ ProductScrollView()
+ }
+ }.listStyle(PlainListStyle())
+
+ }
+}
+
+struct ContentView: View {
+ var body: some View {
+ NavigationView {
+ TabView {
+ HomeView()
+ .tabItem {
+ Image(systemName: "house")
+ Text("ํ")
+ }
+ Text("๋๋ค์ํ")
+ .tabItem {
+ Image(systemName: "doc")
+ Text("๋๋ค์ํ")
+ }
+ Text("๋ด ๊ทผ์ฒ")
+ .tabItem {
+ Image(systemName: "mappin.and.ellipse")
+ Text("๋ด ๊ทผ์ฒ")
+ }
+ Text("์ฑํ
")
+ .tabItem {
+ Image(systemName: "message")
+ Text("์ฑํ
")
+ }
+ Text("๋์ ๋น๊ทผ")
+ .tabItem {
+ Image(systemName: "person")
+ Text("๋์ ๋น๊ทผ")
+ }
+ }.navigationBarTitle("", displayMode: .inline)
+ .navigationBarItems(
+ leading:
+ HStack {
+ Text("๊ด๋ช
๋")
+ .font(.headline)
+ .foregroundColor(.black)
+ .padding(.leading, 5)
+ Image(systemName: "chevron.down")
+ .foregroundColor(.black)
+ },
+ trailing:
+ HStack {
+ Image(systemName: "line.3.horizontal")
+ Image(systemName: "magnifyingglass")
+ Image(systemName: "bell")
+ }
+ .foregroundColor(.black)
+ .padding(.horizontal, 5)
+ ).accentColor(.black)
+ }
+ }
+}
+
+
+struct ContentView_Previews: PreviewProvider {
+ static var previews: some View {
+ ContentView()
+ }
+}
diff --git a/week7/week7/Preview Content/Preview Assets.xcassets/Contents.json b/week7/week7/Preview Content/Preview Assets.xcassets/Contents.json
new file mode 100644
index 0000000..73c0059
--- /dev/null
+++ b/week7/week7/Preview Content/Preview Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ }
+}
diff --git a/week7/week7/week7App.swift b/week7/week7/week7App.swift
new file mode 100644
index 0000000..6fc848f
--- /dev/null
+++ b/week7/week7/week7App.swift
@@ -0,0 +1,17 @@
+//
+// week7App.swift
+// week7
+//
+// Created by ๋ฐํ์ on 2023/11/27.
+//
+
+import SwiftUI
+
+@main
+struct week7App: App {
+ var body: some Scene {
+ WindowGroup {
+ ContentView()
+ }
+ }
+}