From 911393f85cd1232be77a8a39f7f481d4013c0aa6 Mon Sep 17 00:00:00 2001 From: Meera Andersen Date: Tue, 13 Nov 2018 16:00:00 -0700 Subject: [PATCH 1/2] Built out the interface --- .DS_Store | Bin 0 -> 6148 bytes .../List Project.xcodeproj/project.pbxproj | 343 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 14973 bytes .../xcschemes/xcschememanagement.plist | 14 + List Project/List Project/AppDelegate.swift | 15 + .../AppIcon.appiconset/Contents.json | 98 +++++ .../Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 ++ .../List Project/Base.lproj/Main.storyboard | 71 ++++ List Project/List Project/Info.plist | 45 +++ List Project/List Project/Model.swift | 22 ++ .../List Project/ViewController.swift | 12 + MVC-List Questions.rtf | 61 ++++ 15 files changed, 727 insertions(+) create mode 100644 .DS_Store create mode 100644 List Project/List Project.xcodeproj/project.pbxproj create mode 100644 List Project/List Project.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 List Project/List Project.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 List Project/List Project.xcodeproj/project.xcworkspace/xcuserdata/meeraandersen.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 List Project/List Project.xcodeproj/xcuserdata/meeraandersen.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 List Project/List Project/AppDelegate.swift create mode 100644 List Project/List Project/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 List Project/List Project/Assets.xcassets/Contents.json create mode 100644 List Project/List Project/Base.lproj/LaunchScreen.storyboard create mode 100644 List Project/List Project/Base.lproj/Main.storyboard create mode 100644 List Project/List Project/Info.plist create mode 100644 List Project/List Project/Model.swift create mode 100644 List Project/List Project/ViewController.swift create mode 100644 MVC-List Questions.rtf diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..2262c1ba632f87320ef5c85462bce68c55a28f75 GIT binary patch literal 6148 zcmeHK%Wl&^6g|_1-~P+~+59Hf)+-mP7agbW)UVWE`X|}MFM?v6 zcY@J#S=$SWlhDLZvn=@)2jPA^m>e{&?Ph5a#OYw9$Z<4a%8O@l8fBACHcq2ljpOSM z$Ei8BgU04`+P>S~a@)<;Y|EYQ>@*qQ*`Cd6&c=<_{r=(b?Yrsw*@sU`3J7j`%B~vx z37;9P6zYvXN|P)-W{%`v$0O`x7q{kweT=bu6%;w9z$v5Kl)AvHGa`Q^fBxmv@B}?P zK$m0o$QdG9WZ=sg2CLT2s{-cl>s&go0@!(51*`%q6_ERbOPA;wEH$dFgN3>R5G!m} z##nwfNRDgJGgxY54^3z)QB#GvVhBxVyKC}1gQZ4IhcK59VV*3^4MnJ@b9`5&LwFi( zX%(;vEGn?Bs||Vn_g3Hk7fH5e6|f5YR|<$q*Y9>XC3CheO-`P*F8z=$P3Dyv6@`U4 hj#VI!;!V0T_PH`3dIn34Y@yi?0VRVitO9>kfgdE0k17BF literal 0 HcmV?d00001 diff --git a/List Project/List Project.xcodeproj/project.pbxproj b/List Project/List Project.xcodeproj/project.pbxproj new file mode 100644 index 0000000..8ae5dad --- /dev/null +++ b/List Project/List Project.xcodeproj/project.pbxproj @@ -0,0 +1,343 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + F3A38A5A219B7F110065D5A9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3A38A59219B7F110065D5A9 /* AppDelegate.swift */; }; + F3A38A5C219B7F110065D5A9 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3A38A5B219B7F110065D5A9 /* ViewController.swift */; }; + F3A38A5F219B7F110065D5A9 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F3A38A5D219B7F110065D5A9 /* Main.storyboard */; }; + F3A38A61219B7F110065D5A9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F3A38A60219B7F110065D5A9 /* Assets.xcassets */; }; + F3A38A64219B7F110065D5A9 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F3A38A62219B7F110065D5A9 /* LaunchScreen.storyboard */; }; + F3A38A6C219B83A10065D5A9 /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3A38A6B219B83A10065D5A9 /* Model.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + F3A38A56219B7F110065D5A9 /* List Project.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "List Project.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + F3A38A59219B7F110065D5A9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + F3A38A5B219B7F110065D5A9 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + F3A38A5E219B7F110065D5A9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + F3A38A60219B7F110065D5A9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + F3A38A63219B7F110065D5A9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + F3A38A65219B7F110065D5A9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + F3A38A6B219B83A10065D5A9 /* Model.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Model.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + F3A38A53219B7F110065D5A9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + F3A38A4D219B7F110065D5A9 = { + isa = PBXGroup; + children = ( + F3A38A58219B7F110065D5A9 /* List Project */, + F3A38A57219B7F110065D5A9 /* Products */, + ); + sourceTree = ""; + }; + F3A38A57219B7F110065D5A9 /* Products */ = { + isa = PBXGroup; + children = ( + F3A38A56219B7F110065D5A9 /* List Project.app */, + ); + name = Products; + sourceTree = ""; + }; + F3A38A58219B7F110065D5A9 /* List Project */ = { + isa = PBXGroup; + children = ( + F3A38A59219B7F110065D5A9 /* AppDelegate.swift */, + F3A38A5B219B7F110065D5A9 /* ViewController.swift */, + F3A38A6B219B83A10065D5A9 /* Model.swift */, + F3A38A5D219B7F110065D5A9 /* Main.storyboard */, + F3A38A60219B7F110065D5A9 /* Assets.xcassets */, + F3A38A62219B7F110065D5A9 /* LaunchScreen.storyboard */, + F3A38A65219B7F110065D5A9 /* Info.plist */, + ); + path = "List Project"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + F3A38A55219B7F110065D5A9 /* List Project */ = { + isa = PBXNativeTarget; + buildConfigurationList = F3A38A68219B7F110065D5A9 /* Build configuration list for PBXNativeTarget "List Project" */; + buildPhases = ( + F3A38A52219B7F110065D5A9 /* Sources */, + F3A38A53219B7F110065D5A9 /* Frameworks */, + F3A38A54219B7F110065D5A9 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "List Project"; + productName = "List Project"; + productReference = F3A38A56219B7F110065D5A9 /* List Project.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + F3A38A4E219B7F110065D5A9 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1010; + LastUpgradeCheck = 1010; + ORGANIZATIONNAME = "Meera Andersen"; + TargetAttributes = { + F3A38A55219B7F110065D5A9 = { + CreatedOnToolsVersion = 10.1; + }; + }; + }; + buildConfigurationList = F3A38A51219B7F110065D5A9 /* Build configuration list for PBXProject "List Project" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = F3A38A4D219B7F110065D5A9; + productRefGroup = F3A38A57219B7F110065D5A9 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + F3A38A55219B7F110065D5A9 /* List Project */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + F3A38A54219B7F110065D5A9 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F3A38A64219B7F110065D5A9 /* LaunchScreen.storyboard in Resources */, + F3A38A61219B7F110065D5A9 /* Assets.xcassets in Resources */, + F3A38A5F219B7F110065D5A9 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + F3A38A52219B7F110065D5A9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + F3A38A6C219B83A10065D5A9 /* Model.swift in Sources */, + F3A38A5C219B7F110065D5A9 /* ViewController.swift in Sources */, + F3A38A5A219B7F110065D5A9 /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + F3A38A5D219B7F110065D5A9 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + F3A38A5E219B7F110065D5A9 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + F3A38A62219B7F110065D5A9 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + F3A38A63219B7F110065D5A9 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + F3A38A66219B7F110065D5A9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + F3A38A67219B7F110065D5A9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 12.1; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + F3A38A69219B7F110065D5A9 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = "List Project/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.meeraandersen.List-Project"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + F3A38A6A219B7F110065D5A9 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = "List Project/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.meeraandersen.List-Project"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + F3A38A51219B7F110065D5A9 /* Build configuration list for PBXProject "List Project" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F3A38A66219B7F110065D5A9 /* Debug */, + F3A38A67219B7F110065D5A9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + F3A38A68219B7F110065D5A9 /* Build configuration list for PBXNativeTarget "List Project" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + F3A38A69219B7F110065D5A9 /* Debug */, + F3A38A6A219B7F110065D5A9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = F3A38A4E219B7F110065D5A9 /* Project object */; +} diff --git a/List Project/List Project.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/List Project/List Project.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..44fe33f --- /dev/null +++ b/List Project/List Project.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/List Project/List Project.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/List Project/List Project.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/List Project/List Project.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/List Project/List Project.xcodeproj/project.xcworkspace/xcuserdata/meeraandersen.xcuserdatad/UserInterfaceState.xcuserstate b/List Project/List Project.xcodeproj/project.xcworkspace/xcuserdata/meeraandersen.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..5da89bfc185e5b0c309ee2e3e985a6a85f756862 GIT binary patch literal 14973 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 T&V3Of(v!PadPe?r{_+0+ce$py literal 0 HcmV?d00001 diff --git a/List Project/List Project.xcodeproj/xcuserdata/meeraandersen.xcuserdatad/xcschemes/xcschememanagement.plist b/List Project/List Project.xcodeproj/xcuserdata/meeraandersen.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..3693336 --- /dev/null +++ b/List Project/List Project.xcodeproj/xcuserdata/meeraandersen.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + List Project.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/List Project/List Project/AppDelegate.swift b/List Project/List Project/AppDelegate.swift new file mode 100644 index 0000000..a0a9ee4 --- /dev/null +++ b/List Project/List Project/AppDelegate.swift @@ -0,0 +1,15 @@ + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } +} + diff --git a/List Project/List Project/Assets.xcassets/AppIcon.appiconset/Contents.json b/List Project/List Project/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d8db8d6 --- /dev/null +++ b/List Project/List Project/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/List Project/List Project/Assets.xcassets/Contents.json b/List Project/List Project/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/List Project/List Project/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/List Project/List Project/Base.lproj/LaunchScreen.storyboard b/List Project/List Project/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..bfa3612 --- /dev/null +++ b/List Project/List Project/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/List Project/List Project/Base.lproj/Main.storyboard b/List Project/List Project/Base.lproj/Main.storyboard new file mode 100644 index 0000000..1e31f40 --- /dev/null +++ b/List Project/List Project/Base.lproj/Main.storyboard @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/List Project/List Project/Info.plist b/List Project/List Project/Info.plist new file mode 100644 index 0000000..16be3b6 --- /dev/null +++ b/List Project/List Project/Info.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/List Project/List Project/Model.swift b/List Project/List Project/Model.swift new file mode 100644 index 0000000..1b62599 --- /dev/null +++ b/List Project/List Project/Model.swift @@ -0,0 +1,22 @@ +import Foundation + + +class Model { + static let shared = Model() + private init() {} + + private(set) var items: [String] = [] + + func add(_ item: String) { + items.append(item) + } + + + func resetItems() { + items = [] + } + + + + +} diff --git a/List Project/List Project/ViewController.swift b/List Project/List Project/ViewController.swift new file mode 100644 index 0000000..583364c --- /dev/null +++ b/List Project/List Project/ViewController.swift @@ -0,0 +1,12 @@ +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + + } + + +} + diff --git a/MVC-List Questions.rtf b/MVC-List Questions.rtf new file mode 100644 index 0000000..e172990 --- /dev/null +++ b/MVC-List Questions.rtf @@ -0,0 +1,61 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf600 +{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 HelveticaNeue;} +{\colortbl;\red255\green255\blue255;\red27\green31\blue34;\red27\green31\blue34;\red255\green255\blue255; +} +{\*\expandedcolortbl;;\cssrgb\c14118\c16078\c18039;\cssrgb\c14118\c16078\c18039;\cssrgb\c100000\c100000\c100000; +} +{\*\listtable{\list\listtemplateid1\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid1\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid2\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid1} +{\list\listtemplateid2\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid101\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid102\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid2} +{\list\listtemplateid3\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid201\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid202\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid3} +{\list\listtemplateid4\listhybrid{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{disc\}}{\leveltext\leveltemplateid301\'01\uc0\u8226 ;}{\levelnumbers;}\fi-360\li720\lin720 }{\listlevel\levelnfc23\levelnfcn23\leveljc0\leveljcn0\levelfollow0\levelstartat1\levelspace360\levelindent0{\*\levelmarker \{hyphen\}}{\leveltext\leveltemplateid302\'01\uc0\u8259 ;}{\levelnumbers;}\fi-360\li1440\lin1440 }{\listname ;}\listid4}} +{\*\listoverridetable{\listoverride\listid1\listoverridecount0\ls1}{\listoverride\listid2\listoverridecount0\ls2}{\listoverride\listid3\listoverridecount0\ls3}{\listoverride\listid4\listoverridecount0\ls4}} +\margl1440\margr1440\vieww10800\viewh8400\viewkind0 +\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0 + +\f0\fs24 \cf0 MVC-List Questions\ +\pard\tx720\pardeftab720\sl360\partightenfactor0 + +\f1\fs32 \cf2 \expnd0\expndtw0\kerning0 +\outl0\strokewidth0 \strokec2 \ +\pard\tx220\tx720\pardeftab720\li720\fi-720\sl360\partightenfactor0 +\ls1\ilvl0\cf3 \cb4 \kerning1\expnd0\expndtw0 \outl0\strokewidth0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 +What is Interface Builder's object library? \ +\pard\tx940\tx1440\pardeftab720\li1440\fi-1440\sl360\partightenfactor0 +\ls1\ilvl1\cf3 \cb1 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8259 }It contains interface objects like different kinds of views, view controllers, buttons, labels, text fields, etc.\ +\pard\tx720\tx1440\pardeftab720\sl360\partightenfactor0 +\cf3 \expnd0\expndtw0\kerning0 +\ +\pard\tx220\tx720\pardeftab720\li720\fi-720\sl360\partightenfactor0 +\ls2\ilvl0\cf3 \cb4 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 +What is the difference between an outlet and an action?\ +\pard\tx940\tx1440\pardeftab720\li1440\fi-1440\sl360\partightenfactor0 +\ls2\ilvl1\cf3 \cb1 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8259 }Actions send messages from a control to your code\ +{\listtext \uc0\u8259 }outlets send messages from code to user (presents data) and both are used by and communicate with the view controller\ +\pard\tx720\tx1440\pardeftab720\sl360\partightenfactor0 +\cf3 \expnd0\expndtw0\kerning0 +\ +\pard\tx220\tx720\pardeftab720\li720\fi-720\sl360\partightenfactor0 +\ls3\ilvl0\cf3 \cb4 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 +What is the role of a View Controller?\ +\pard\tx940\tx1440\pardeftab720\li1440\fi-1440\sl360\partightenfactor0 +\ls3\ilvl1\cf3 \cb1 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8259 }View controllers manages user interface behavior as well as interactions with the user interface and data\ +\pard\tx220\tx720\tx1440\pardeftab720\li720\fi-720\sl360\partightenfactor0 +\ls3\ilvl0\cf3 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 +\ +\pard\tx220\tx720\pardeftab720\li720\fi-720\sl360\partightenfactor0 +\ls3\ilvl0\cf3 \cb4 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 +What is Model-View-Controller?\ +\pard\tx940\tx1440\pardeftab720\li1440\fi-1440\sl360\partightenfactor0 +\ls3\ilvl1\cf3 \cb1 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8259 }A way of passing data from one part of your app to another through the controller. \ +\pard\tx720\tx1440\pardeftab720\sl360\partightenfactor0 +\cf3 \expnd0\expndtw0\kerning0 +\ +\pard\tx220\tx720\pardeftab720\li720\fi-720\sl360\partightenfactor0 +\ls4\ilvl0\cf3 \cb4 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8226 }\expnd0\expndtw0\kerning0 +Why use Model-View-Controller?\ +\pard\tx940\tx1440\pardeftab720\li1440\fi-1440\sl360\partightenfactor0 +\ls4\ilvl1\cf3 \cb1 \kerning1\expnd0\expndtw0 {\listtext \uc0\u8259 }\cb4 \expnd0\expndtw0\kerning0 + It allows you to store data that can be accessed from multiple views. It has a specific pattern for data \cb1 that keeps it well organized and allows for reuse.\ +\pard\tx720\pardeftab720\sl360\partightenfactor0 +\cf2 \outl0\strokewidth0 \strokec2 \ +} \ No newline at end of file From de4efed51f8279732a7d9862217b733a7dc52186 Mon Sep 17 00:00:00 2001 From: Meera Andersen Date: Thu, 15 Nov 2018 20:33:21 -0700 Subject: [PATCH 2/2] built out view controller file --- .DS_Store | Bin 6148 -> 6148 bytes .../UserInterfaceState.xcuserstate | Bin 14973 -> 27020 bytes .../List Project/Base.lproj/Main.storyboard | 10 +++++++++ .../List Project/ViewController.swift | 20 ++++++++++++++++-- 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/.DS_Store b/.DS_Store index 2262c1ba632f87320ef5c85462bce68c55a28f75..7f9f0f51b921cb7359cfff26c81136c5c003341d 100644 GIT binary patch delta 70 zcmZoMXffC@orUql=Kwy{}lEhmS#s-dlCLT+VM abxm#E%*hU{@{F@KC$KJK+RV=JmmdHVTox7p diff --git a/List Project/List Project.xcodeproj/project.xcworkspace/xcuserdata/meeraandersen.xcuserdatad/UserInterfaceState.xcuserstate b/List Project/List Project.xcodeproj/project.xcworkspace/xcuserdata/meeraandersen.xcuserdatad/UserInterfaceState.xcuserstate index 5da89bfc185e5b0c309ee2e3e985a6a85f756862..adec3b0d2746536d2ffe5a6d357c644e67795725 100644 GIT binary patch literal 27020 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 z zt>!-G{#8UNWQrz=W(vK+pl~YuieyEGB2$sA$WioD^jB0UsuVSf@rsFx$%+|@S&G?; zIf{9T1&Wsy8x)%rI~4~N#}y|Prxa%t=M+~IzbSrKTvJ?E{H0VX{mKI62<1fO6y-D} zRZdsVRKBXLRjyX9RjyYC-&Sr`excl<+@;*D{6_h$@{sbd@~HA>)`@0+%o_L>fu4w}9*9Wxy_oiv>?{cO5!x?{R)x^ISNnK{-RXKre4ZjLuQ%r3LX z>@x?ly1gTOV7wZM1Eyt;RONHrY1A_MB~wZN6=xZLw{u?N@sfdpmn~d!fC^-pAh0 zKEOW2KEgiQKGt4sr}o+Qx%LJ2MfO+hui0O>udvtJH`=$_zqQ}6-*t!`oI~Z%I^rA# zhuL9uI2a?!)e*?jPMhyZ`YBJW(E@N9@sh;yg_~dXLd#_5?gFJgqz#p0=JWPbW_oPrj$S zr@+&bT^p2nhI)p3f}=c@o~fQ^J=8P93%pWqGjF`tSF_Z@z#1 z(SE6)^Q-(?f1JOWKi+ThC;3zT>He1f41cD-oj=##(cj76(_iAB=wIls_iy$e@?Qyn zKvtk*pj)6gFgP$IFf1@UFd;BGFf|YiOb^TqEC?(LED5|ASRQyIurjbN@JV1xU~6Do sAZ>eKXW+}gSAl(jV}av=lY!HLYk`}AI}LX|2sOOPyHDKxfWW=~2bqf*1poj5 diff --git a/List Project/List Project/Base.lproj/Main.storyboard b/List Project/List Project/Base.lproj/Main.storyboard index 1e31f40..900fb61 100644 --- a/List Project/List Project/Base.lproj/Main.storyboard +++ b/List Project/List Project/Base.lproj/Main.storyboard @@ -33,6 +33,9 @@ @@ -48,6 +51,9 @@ @@ -63,6 +69,10 @@ + + + + diff --git a/List Project/List Project/ViewController.swift b/List Project/List Project/ViewController.swift index 583364c..e105b3f 100644 --- a/List Project/List Project/ViewController.swift +++ b/List Project/List Project/ViewController.swift @@ -2,11 +2,27 @@ import UIKit class ViewController: UIViewController { + @IBOutlet weak var textField: UITextField! + + @IBOutlet weak var label: UILabel! + + @IBAction func shouldAdd(_ sender: Any) { + let text = textField.text ?? "" + guard !text.isEmpty else { return } + Model.shared.add("• \(text)") + textField.text = "" + let updatedLabel = Model.shared.items.joined(separator: "\n") // a way of converting an array to strings...I could replace "\n" which is a new line, with ", " and then everything would print on one line with a comma and a space inbetween. + label.text = updatedLabel + } + + @IBAction func shouldReset(_ sender: Any) { + Model.shared.resetItems() + label.text = "" + } + override func viewDidLoad() { super.viewDidLoad() } - - }