From d9e7b0bfe37002db5b2c14485e02f6126f099281 Mon Sep 17 00:00:00 2001 From: nateyoungren Date: Tue, 8 Jan 2019 14:38:57 -0800 Subject: [PATCH 1/7] create list app that allows user to enter item, add it to list, and reset list. --- List/List.xcodeproj/project.pbxproj | 349 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 25915 bytes .../xcschemes/xcschememanagement.plist | 14 + List/List/AppDelegate.swift | 46 +++ .../AppIcon.appiconset/Contents.json | 98 +++++ List/List/Assets.xcassets/Contents.json | 6 + List/List/Base.lproj/LaunchScreen.storyboard | 25 ++ List/List/Base.lproj/Main.storyboard | 80 ++++ List/List/Info.plist | 45 +++ List/List/Item.swift | 13 + List/List/ItemsController.swift | 13 + List/List/ViewController.swift | 46 +++ 14 files changed, 750 insertions(+) create mode 100644 List/List.xcodeproj/project.pbxproj create mode 100644 List/List.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 List/List.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 List/List.xcodeproj/xcuserdata/nathanaelyoungren.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 List/List/AppDelegate.swift create mode 100644 List/List/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 List/List/Assets.xcassets/Contents.json create mode 100644 List/List/Base.lproj/LaunchScreen.storyboard create mode 100644 List/List/Base.lproj/Main.storyboard create mode 100644 List/List/Info.plist create mode 100644 List/List/Item.swift create mode 100644 List/List/ItemsController.swift create mode 100644 List/List/ViewController.swift diff --git a/List/List.xcodeproj/project.pbxproj b/List/List.xcodeproj/project.pbxproj new file mode 100644 index 0000000..dc98f21 --- /dev/null +++ b/List/List.xcodeproj/project.pbxproj @@ -0,0 +1,349 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 7794FA9521E53E8900671BEC /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7794FA9421E53E8900671BEC /* AppDelegate.swift */; }; + 7794FA9721E53E8900671BEC /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7794FA9621E53E8900671BEC /* ViewController.swift */; }; + 7794FA9A21E53E8900671BEC /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7794FA9821E53E8900671BEC /* Main.storyboard */; }; + 7794FA9C21E53E8900671BEC /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7794FA9B21E53E8900671BEC /* Assets.xcassets */; }; + 7794FA9F21E53E8900671BEC /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7794FA9D21E53E8900671BEC /* LaunchScreen.storyboard */; }; + 7794FAA721E53EE500671BEC /* Item.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7794FAA621E53EE500671BEC /* Item.swift */; }; + 7794FAA921E53F1500671BEC /* ItemsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7794FAA821E53F1500671BEC /* ItemsController.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 7794FA9121E53E8900671BEC /* List.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = List.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 7794FA9421E53E8900671BEC /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 7794FA9621E53E8900671BEC /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 7794FA9921E53E8900671BEC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 7794FA9B21E53E8900671BEC /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 7794FA9E21E53E8900671BEC /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 7794FAA021E53E8900671BEC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 7794FAA621E53EE500671BEC /* Item.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Item.swift; sourceTree = ""; }; + 7794FAA821E53F1500671BEC /* ItemsController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ItemsController.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 7794FA8E21E53E8900671BEC /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 7794FA8821E53E8900671BEC = { + isa = PBXGroup; + children = ( + 7794FA9321E53E8900671BEC /* List */, + 7794FA9221E53E8900671BEC /* Products */, + ); + sourceTree = ""; + }; + 7794FA9221E53E8900671BEC /* Products */ = { + isa = PBXGroup; + children = ( + 7794FA9121E53E8900671BEC /* List.app */, + ); + name = Products; + sourceTree = ""; + }; + 7794FA9321E53E8900671BEC /* List */ = { + isa = PBXGroup; + children = ( + 7794FA9421E53E8900671BEC /* AppDelegate.swift */, + 7794FAA621E53EE500671BEC /* Item.swift */, + 7794FAA821E53F1500671BEC /* ItemsController.swift */, + 7794FA9621E53E8900671BEC /* ViewController.swift */, + 7794FA9821E53E8900671BEC /* Main.storyboard */, + 7794FA9B21E53E8900671BEC /* Assets.xcassets */, + 7794FA9D21E53E8900671BEC /* LaunchScreen.storyboard */, + 7794FAA021E53E8900671BEC /* Info.plist */, + ); + path = List; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 7794FA9021E53E8900671BEC /* List */ = { + isa = PBXNativeTarget; + buildConfigurationList = 7794FAA321E53E8900671BEC /* Build configuration list for PBXNativeTarget "List" */; + buildPhases = ( + 7794FA8D21E53E8900671BEC /* Sources */, + 7794FA8E21E53E8900671BEC /* Frameworks */, + 7794FA8F21E53E8900671BEC /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = List; + productName = List; + productReference = 7794FA9121E53E8900671BEC /* List.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 7794FA8921E53E8900671BEC /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 1010; + LastUpgradeCheck = 1010; + ORGANIZATIONNAME = "Nathanael Youngren"; + TargetAttributes = { + 7794FA9021E53E8900671BEC = { + CreatedOnToolsVersion = 10.1; + }; + }; + }; + buildConfigurationList = 7794FA8C21E53E8900671BEC /* Build configuration list for PBXProject "List" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 7794FA8821E53E8900671BEC; + productRefGroup = 7794FA9221E53E8900671BEC /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 7794FA9021E53E8900671BEC /* List */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 7794FA8F21E53E8900671BEC /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 7794FA9F21E53E8900671BEC /* LaunchScreen.storyboard in Resources */, + 7794FA9C21E53E8900671BEC /* Assets.xcassets in Resources */, + 7794FA9A21E53E8900671BEC /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 7794FA8D21E53E8900671BEC /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 7794FA9721E53E8900671BEC /* ViewController.swift in Sources */, + 7794FAA721E53EE500671BEC /* Item.swift in Sources */, + 7794FAA921E53F1500671BEC /* ItemsController.swift in Sources */, + 7794FA9521E53E8900671BEC /* AppDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 7794FA9821E53E8900671BEC /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 7794FA9921E53E8900671BEC /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 7794FA9D21E53E8900671BEC /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 7794FA9E21E53E8900671BEC /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 7794FAA121E53E8900671BEC /* 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; + }; + 7794FAA221E53E8900671BEC /* 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; + }; + 7794FAA421E53E8900671BEC /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = HBKK7B5HAP; + INFOPLIST_FILE = List/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.nateyoungren.List; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 7794FAA521E53E8900671BEC /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = HBKK7B5HAP; + INFOPLIST_FILE = List/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.nateyoungren.List; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.2; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 7794FA8C21E53E8900671BEC /* Build configuration list for PBXProject "List" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7794FAA121E53E8900671BEC /* Debug */, + 7794FAA221E53E8900671BEC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 7794FAA321E53E8900671BEC /* Build configuration list for PBXNativeTarget "List" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 7794FAA421E53E8900671BEC /* Debug */, + 7794FAA521E53E8900671BEC /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 7794FA8921E53E8900671BEC /* Project object */; +} diff --git a/List/List.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/List/List.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..1119a07 --- /dev/null +++ b/List/List.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/List/List.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/List/List.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/List/List.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate b/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..bfdb3fea67bffcf973557192303386d30a8d020d GIT binary patch literal 25915 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 + + + + SchemeUserState + + List.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/List/List/AppDelegate.swift b/List/List/AppDelegate.swift new file mode 100644 index 0000000..144e041 --- /dev/null +++ b/List/List/AppDelegate.swift @@ -0,0 +1,46 @@ +// +// AppDelegate.swift +// List +// +// Created by Nathanael Youngren on 1/8/19. +// Copyright © 2019 Nathanael Youngren. All rights reserved. +// + +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 + } + + func applicationWillResignActive(_ application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(_ application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(_ application: UIApplication) { + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(_ application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(_ application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + +} + diff --git a/List/List/Assets.xcassets/AppIcon.appiconset/Contents.json b/List/List/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d8db8d6 --- /dev/null +++ b/List/List/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/List/Assets.xcassets/Contents.json b/List/List/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/List/List/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/List/List/Base.lproj/LaunchScreen.storyboard b/List/List/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..bfa3612 --- /dev/null +++ b/List/List/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/List/List/Base.lproj/Main.storyboard b/List/List/Base.lproj/Main.storyboard new file mode 100644 index 0000000..ff2743c --- /dev/null +++ b/List/List/Base.lproj/Main.storyboard @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/List/List/Info.plist b/List/List/Info.plist new file mode 100644 index 0000000..16be3b6 --- /dev/null +++ b/List/List/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/List/Item.swift b/List/List/Item.swift new file mode 100644 index 0000000..0101435 --- /dev/null +++ b/List/List/Item.swift @@ -0,0 +1,13 @@ +// +// Item.swift +// List +// +// Created by Nathanael Youngren on 1/8/19. +// Copyright © 2019 Nathanael Youngren. All rights reserved. +// + +import Foundation + +struct Item { + var name: String +} diff --git a/List/List/ItemsController.swift b/List/List/ItemsController.swift new file mode 100644 index 0000000..5f40775 --- /dev/null +++ b/List/List/ItemsController.swift @@ -0,0 +1,13 @@ +// +// ItemsController.swift +// List +// +// Created by Nathanael Youngren on 1/8/19. +// Copyright © 2019 Nathanael Youngren. All rights reserved. +// + +import Foundation + +class ItemsController { + var items: [String] = [] +} diff --git a/List/List/ViewController.swift b/List/List/ViewController.swift new file mode 100644 index 0000000..582fc72 --- /dev/null +++ b/List/List/ViewController.swift @@ -0,0 +1,46 @@ +// +// ViewController.swift +// List +// +// Created by Nathanael Youngren on 1/8/19. +// Copyright © 2019 Nathanael Youngren. All rights reserved. +// + +import UIKit + +class ViewController: UIViewController { + + override func viewDidLoad() { + super.viewDidLoad() + resetItems() + } + + func add(_ item: String) { + itemsController.items.append(item) + let joined = itemsController.items.joined(separator: "\n") + label.text = joined + } + + func resetItems() { + label.text = "" + } + + @IBAction func shouldAdd(_ sender: UIButton) { + let text = textField.text ?? "" + if !text.isEmpty { + add(text) + } + textField.text = "" + } + + @IBAction func shouldReset(_ sender: UIButton) { + resetItems() + } + + let itemsController = ItemsController() + + @IBOutlet weak var textField: UITextField! + @IBOutlet weak var label: UILabel! + +} + From 65c1c58381a2ba623b13850e1380ff18843ae97a Mon Sep 17 00:00:00 2001 From: nateyoungren Date: Tue, 8 Jan 2019 14:53:26 -0800 Subject: [PATCH 2/7] Create print button at bottom of app that prints to console. --- .../UserInterfaceState.xcuserstate | Bin 25915 -> 25689 bytes List/List/Base.lproj/Main.storyboard | 27 ++++++++++++++---- List/List/ViewController.swift | 5 ++++ 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate b/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate index bfdb3fea67bffcf973557192303386d30a8d020d..d75c8ce7e2d9e585c5a49f7546cffa13b6228bf7 100644 GIT binary patch delta 9781 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 X^VugSH`s9JR!8olhKI6&4vlJ delta 9985 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 diff --git a/List/List/Base.lproj/Main.storyboard b/List/List/Base.lproj/Main.storyboard index ff2743c..baefe0b 100644 --- a/List/List/Base.lproj/Main.storyboard +++ b/List/List/Base.lproj/Main.storyboard @@ -48,13 +48,28 @@ - + + + + + + + + diff --git a/List/List/ViewController.swift b/List/List/ViewController.swift index 582fc72..e7bd396 100644 --- a/List/List/ViewController.swift +++ b/List/List/ViewController.swift @@ -23,6 +23,7 @@ class ViewController: UIViewController { func resetItems() { label.text = "" + itemsController.items.removeAll() } @IBAction func shouldAdd(_ sender: UIButton) { @@ -37,6 +38,10 @@ class ViewController: UIViewController { resetItems() } + @IBAction func shouldPrintList(_ sender: UIButton) { + print(itemsController.items.joined(separator: "\n")) + } + let itemsController = ItemsController() @IBOutlet weak var textField: UITextField! From 110acb4e9d40524c780d1a8584a18991dbc7f81d Mon Sep 17 00:00:00 2001 From: nateyoungren Date: Tue, 8 Jan 2019 15:03:58 -0800 Subject: [PATCH 3/7] Replace the label with a non-editable text view to top-align the list. --- .../UserInterfaceState.xcuserstate | Bin 25689 -> 25730 bytes List/List/Base.lproj/Main.storyboard | 12 ++++++------ List/List/ViewController.swift | 8 ++++---- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate b/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate index d75c8ce7e2d9e585c5a49f7546cffa13b6228bf7..b3945b08d53d0b2a0362a52de6750d9421c3cb0d 100644 GIT binary patch delta 9264 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 F{||-`V%7iv diff --git a/List/List/Base.lproj/Main.storyboard b/List/List/Base.lproj/Main.storyboard index baefe0b..24f128e 100644 --- a/List/List/Base.lproj/Main.storyboard +++ b/List/List/Base.lproj/Main.storyboard @@ -42,12 +42,12 @@ - + + + + @@ -83,8 +83,8 @@ - + diff --git a/List/List/ViewController.swift b/List/List/ViewController.swift index e7bd396..0780791 100644 --- a/List/List/ViewController.swift +++ b/List/List/ViewController.swift @@ -18,18 +18,18 @@ class ViewController: UIViewController { func add(_ item: String) { itemsController.items.append(item) let joined = itemsController.items.joined(separator: "\n") - label.text = joined + textView.text = joined } func resetItems() { - label.text = "" + textView.text = "" itemsController.items.removeAll() } @IBAction func shouldAdd(_ sender: UIButton) { let text = textField.text ?? "" if !text.isEmpty { - add(text) + add("\u{2022} \(text)") } textField.text = "" } @@ -45,7 +45,7 @@ class ViewController: UIViewController { let itemsController = ItemsController() @IBOutlet weak var textField: UITextField! - @IBOutlet weak var label: UILabel! + @IBOutlet weak var textView: UITextView! } From cf04a46803d7919bebd5b9e7843df96de181e722 Mon Sep 17 00:00:00 2001 From: nateyoungren Date: Tue, 8 Jan 2019 15:06:17 -0800 Subject: [PATCH 4/7] adjust size of list font --- .../UserInterfaceState.xcuserstate | Bin 25730 -> 25763 bytes List/List/Base.lproj/Main.storyboard | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate b/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate index b3945b08d53d0b2a0362a52de6750d9421c3cb0d..fe4c3f7733d73e6d29e378ac218b62d14291704f 100644 GIT binary patch delta 5552 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 - + From 803e67186b987585dd95be67e146b491406ddc1b Mon Sep 17 00:00:00 2001 From: nateyoungren Date: Tue, 8 Jan 2019 15:19:46 -0800 Subject: [PATCH 5/7] Clear boiler plate code --- .../UserInterfaceState.xcuserstate | Bin 25763 -> 26860 bytes List/List/AppDelegate.swift | 24 ------------------ List/List/ViewController.swift | 1 - 3 files changed, 25 deletions(-) diff --git a/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate b/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate index fe4c3f7733d73e6d29e378ac218b62d14291704f..5bc03bbb265a2f99c525e8ca7bccc2488b62e156 100644 GIT binary patch delta 12625 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 Z-Mz8B%ruO1XSuk0r$wc)@@sB<7{0F zcU{H3>$Y{zT1Ty;wc258wN|bD&JAL1Z~ZgXW@ns0vl18dQtcq4j73+Jv^D zqv#m=9DRX~qZ8;1I*%@(i|8wK1Kmd7p@-;q^n?;nLP|shQbClMl2E~vlxjsqQ!!L) zstwhaYDcxFVyQSPmC{maR65m#>PmH^x>G%VWYfb#UF3aLI+5mij}qxw@LsZrEu zY78}&8b`fDO{At%Gbk@LoBD`aOf8|7QERA;)K+R6wTIeE9i@&@pHp8@$Eg$4N$MhX ziTaYdPTi({qJF0Spq|n+&Co0@q66vXbPKvA-HMK;W9Zg&8@essj&4tPpc84Whfbr- zbT)0Ft+bQwO&8LA=pwq9E}{F<{pkL5B|VZJMSJL(^au1TdJesS{)n!nm(iclpVD>o zR(dDBi{3{cqz}=@=o9oA`Ye5pzC?dX-=M#tZ_@YZ`}8CF4@Ss{7$p%S z3Rod4X60-+`xe`rZNbK}acn%B63=F`R@TjSV)NNy{nO}F% z1M~#FynpybH0cQnx;XQ4`n+9IRQWn#5e8U+!@M3zzIVF6Fy!wk`}^Lg3MBn}6F&1- z1pobVknd$9Z?k~UULz^@J#A7T>FXmAX+pfc1pd*(z-V3L;; zz*sO2jK|G!3~q&66J5*{yz7|+rc{B+xCM?r3j{>KX<$k%m`(NE*Xt z1RrbyBViP5s>1oWGwy=B*21@7bFde-#NBW&qW^*heC>FA?Q!=8eDOTK1gPdO+ynRY zUD1*diK>}C<_%ATTBxf>mrl_2=Fu4ly25{>qc%05%YxY;rV5&IQ5Ce{60CSV?4i>a zaK#0Z?j+#c-a%4nv>WF0;^e|S*b#QZeQ`hBAD7m`&aeyY3cKOA@kl%hPax8)l0gdLk5;s=9iX?uvC@|s_;bw>< zKA*CDK?SG5>AjqJj$xIBeFm2JV!H-TfNu{Z{w6d(c9^iYt zVcy51arAjO3w{W_KnQ2UInW8=JnyuSsJO9s3@*l8GsC`Lmt?zprZ>p&5nKdfs^Q0Q zAs&avSHs0{3HD%2RCFaIhR>pKIb7it$(u4O;VMu-?jpT;^2Qz3z)wKT(xrSR_GKEl z9&Y5dxdBhCf}i5aZ=`6r)n}_o-gWY!?dyl{fO~mU?S#AFZny_e!Bg=xJiQj~gL~k9 zcmU79)A4)w1A^nr&@y$ske~BHeu3Y`(cPS;q_$a|+h$huYv6whp5ghQ#_w0bvv?*U z?5${%0x!YqAZ9uI5?+R1!7K18yoP7t53v`|#&hu8btgjtBT7f@4@-x3;GIw!??G8gTpu zAJr?SneOzP5%33m#v^=+7gxdO*r&QzMFl~hhL(7L4jX8okqE@BKn!A$AM!^5NPvX6 z3RmMAT#J|C<#@#k6o`V57)ektk|G&iiC5z__!GPqZ^WMx>@xegW3_~s4ZSsh1%owe58m= zMh+<)TwGGjM~Nk~K2A^qQZL0D>UlOriPbz4Z>_3DQw>UabILSC(m@qU$D68<9&aYG z@`FlcF(D_Au0&bLjIxmhS&U!l=IJZ4gs~`l0@)6d%He@sS!d01ZTg@KO9NK1UQat(&^ue}O%GzNM2dB&n~XgvNLe}RwJAdEOP0iVDp@hM&( zExe}^8+*Go_IPHXng1I60h&dap225%rp@&AegWK(oic`%4lI7@I%qyx_%F&uXfaxX zFW`>F|qC(TWX>}W5oAl-~Fn$R+|s)4foD}<}j8uSUijK9KH2&wL6XHWzpnG{e}G7BpUYtUx26%^!?`cHl}u-lIIk)R^_*ok(b z@n{d)OSEzwe~pjh8~B^$L^u1<0d$aj?k5_$iErUMrw z+E6okK#I>q(ugW?W4xHOqjLNMF2d2THIeACFK~aXdz>@~8qpsVH z7X|Ro_yPU}|B4^t-|(Xq6rw0tK{4nV@5J~q{vDTd@D3Tn`*56hgXS-fa?F@`O`FKL zSoOFzkz?YLlhkb@H3=QYjeBVUN=7vTF{`K$N=}7R3Q9?ZQQ?$|ioj3sANVPLhM(g< z@eBMH2g%xa9EhSKsVJ%`)r@+J+_xYNRS*Xu2U~G4j)Q6rrtuGSyn#Xu6&2nNsYhDI zQ;EcJZ4AjLtthDxG3P#O+0RUmH2EY`|IUjgKA2tA;dYUx2XZtKxz;{RK`I$2SYii z;Goh6C2To0lrSW0sA1G_4u$AlsCj>LRLtjK6pn3R@G(Vl17B~w^L0%;OR4I=N7iugt-l8@r&j)rWEBUS zzbetxC)7IfiWGQUMG@t;`1{SL)Fz&&j)N_$e87Au-ceXOxLpP5F-G+%D=cqFQ`B}U zcqc!42M438s9hY4A*d|+=vLG|IAA&T8MU7}KpmtGQHMF$nuBdP*p`FsIM|+pv3Nv* zB+>i6p-tUkJqshKQ`A{rFQ=(99E|5+LN#xDpPA#lcMS#)b(y-tW9FMQ>M932yo_Y( zYdD~Wx+5)gkziOht_A(2K_#ue)|_m z1TaKVzmpK+i8MUX>?b~|2BK%wU;iYc0f?eWu%z-d{G#Mu##>T9I)Dg4lL$z!BGoF0 z=qu9LqBMvO12L;QV3KOLe1MlbH0gg0Gao+XDbFx@Eo(DnV-Bv{> zaL`Vk&&iC9y?i$(%#?b^- zE^fs^(!_d&ramogq%orH9L(cWq^~m3Ido@|5NQ|frgP~$x+C3*&iD2<%HLW+ccHt| z-RSOg51@e?IM|(oJvi8xgOwZ{Mm7v45_~622Rxr%0E|a}YnRr=Fgwqqox=N!W965E(Ban^(Sh;SzpcvJT*9Y2fu4|BNGR9sXf`dh;zbK7?E8 zBOo77;vm@t@fC0SbNY({iHt0#G8=Xn%8Cm44TNg?IA6;f{nxvC(v$Ql?_5h8nm$dS z9=3E8(dT)CUf|#e9PMpkZQ`LX(^pB_pugh1c@%NzYWf;|or9w}I0nb{^sV4rWfi47 zzot5IZCQgcZqeWJbhmkLA4?p*n*NTy%fWFRT#Vzo8U|LDln*YfY{=^L5A=ioa((SD zL=g`;IG$I;!UnH@wobqy=&O{MEVw%$1`HO>7ea7ZL$-YXcMDS8OObpZ3w?t>!V3M?FkTp8f z9=GG*yZ>IK(-U6vVn)q$psUDU9MR)PL;>#;A0}N0(mKFs(r8N6S8z`u?i$1{Oa3SHn_69Y~a9>@^%#?O8ZtysQ+}$`ZUAX7$-3- zV`m(sX_(EyIn{JELlRX#4$dX2R60^+`AioQ_e^IF&aYy+a&Q58-q#WD;g`xEf^we+ zlY&e%}M{=4D8%FXBsB$e1y)Z6ag&=Bz_xuc5A?aoh2lu_oEzD!)=|6i9WHnI6HhT}w${UB92zOh0wV8~j_ct^Y;dhLE@8;4z;3^M<}Wv!u_ke*H?y4do?; z&GbF?`DQuKCa`L@0}!%_Y!aKyYP>Md-s~a=zvSR?4&J`Vrm|Y{HjPbZbs(RN%0S0i zBly5OBrm6cjJw6b6R(8?Yhtq+LV`HK$u}Z`B@Iw5YiAv-lO>JPDGr|D;8_lydleCE zZoN03{(nRSTTnm8`Tsj2-jIy#Ph`s=XQ%mqq}fa4L>1oROSJ%agzO+NrJATF$)}Mo zarB#%<-AUKN<{QU3JtH5dQu@ff=L%>pGD$aeUI}-h43{h>?(G(cXy}OG`og0D!V(y1k^uX z%dYb_$!|%s>&fFL`7Hu{doAonRF@M>H};Op?+Vr4OZia}@jn(=b%M?|81QQC@9o)T zc+}Stabi-kCM8vymafwqGK`s~EOWNSYOy<^?exN zt?Sy_GXpFIRpdB)A2>=*LcRi5$uam1a1-1H_aRG8yBm>R|0tLZJHc+S1P+GdASOG{ zAHYw@sq|@hmYhugO!giFeTU6&kz-~xIb7~Uw#X);chOR^vs8z6kUgG@=q7qZL9zwW zl$`gbkTc%&`dt8zZxg^wHUMmtgUX@YRGu#$0fP14pySK$mtRyqzDm~D&O9PUNwJ~4 zsDJ73lJYa`W_C-byh_rPVF>&|7-$MwgAO1C=*YTBP8L2f4 zOgS@=6tgQ?03%Zg5M>-%l^s! zCV#WP#oy+?*?+(PLI1=4M+2q=%nq0vFhAfU0VR+K!UQToBS8~ElpsdXM$k?WD~K1U z1#ZCz!N-Cff&+rXf}?`Z1?L1;1=j^P1UCh@1>Xwp3hoIW3Z4l`SO*A0g(_hqVH4q7 z!WP0-!Wdz!P$$e5T7)*CQ`lKpEG!k43#STa3Kt5O30DYL3D*eM3bzQi33mv03HJ#1 z39pGLQA<&lC`Xhl>L|(=6^Qza-WClM4HgX%m5VAxoM^IWs%W}srf8PPE1Dy!6)hLl ziFS$hi1vv*`$Y#uCq$=2XGG^j7etptzXgT|rU&*6>>F4bI3RFP;P60CAQ$*f;H1DQ zfztx#27Vm4C~!$&ZQ%02m4T}Rw+HSFJQ{c=@Lb@9z)OLb18)Z24*WLoZs5JZAA$mc z+6UzYl?ROp8Xts%CIrn0njJJZXnxQ~K?{Qx2Q3Y%4q6km))TZNXm8MGK?j1427MlM zJm_T5wV)e8KL$MxdJ^mP*T|oOG&mk#xCqm2{1Ct#ps{s7HEMdR=-$dQ*B^`mOY5>2n#B zQ8Gp*kcnhLGKowfYb;BUCCd!5LRo*=RM}$L8rdhZwX*fHU9!Eh&twN>hh;})7i5=Y zmt|K%tRbC4dWZB0DGuoy(m!NqNJYr7kP#uHLdJy53t1C#Cgfho!;r@zPePu`8M#z0 zmn-C+aCwBhu{=d?l)L0TJ=7W6HMDPNztH}nZ--Wd;?Q?OCxuQ8ogVsb=z`FXLl=cEQBVqr zqKP6((M-`?(NYnuXsu|g&??dudPRmJ)1$~zWGk!+yP~h6Tro-ERV-I*Qyf;DQk+(t zRa{ZrRs5`Yq@#23;#O&oA6uV55j*B|0Dca_@63T#j5;O0+mSBK~apsH>aPg0?-s#C z_(ez}WD&}U<`Hco+C{`h#7Af%QX|qLbPX4M|CI#?a9j#9T! zYt*UgOto2UQQOpA)ZNuR)xFhy)WzyS>LKcKb)|Zodb}E|r>PgJ7ps@5tJSsY(m?6yVZNupQ#TdMkgjFni9>4mPA{kBQYn@otT%{C$TuOZ({$%0f~bW%Myns zRwPbHJdpT9k|IgtN$Qj|Bxy#{{G>HWYm?R|ZA_|5+MKjCX?xPnq&-PzlFlVvNcuAA zO49YDZ<1~&eVg=s(*0yQS&#g4s!i7#v_`E<>(=IKJ8B1LM{37t z$7?z5MD1j)S36g`K)X=8L|dg@r`@Qn({9mj*Y4CF)qbHpsXe1Tuf3?ft9_(>qJ5@) zkp|PKw3cbHX=!QtG-Fy;nkCJimXqdAo1V5i?YH#sbW^&=lm2e{tn}IG^U@clFHT>Y zUY))p{c8I6=|80Zl>STlZ|RTI|I)F#0G&uD)&=Vt>zeCY>Y{b6b@4j2E>Wk^rRp+u zZe15$H(d{1FI|bQzwT|_AYGYmq;8V#UETY-4|E^u7U&l07VD~XHM%Xjy}IMNQ@XRd z3%X0X%evn^dRiZ*kI*;KH`O=Sx6-%Px6{Yz)%qm8UGLPp^&R#3`Y!rz`kwmU`XYT_ zeSiHJ{cQaj{dWCn{T2N$h7dz5LxMqXFdDK97K7d3Gz>SqW0-81W_Z^y(=f|0*HB|v zZCGpAV5l?fFzhz$HS9MWG(5=g&xp*3&S;b2X`d07k)GkmaAo9W+n4V@)Sz%e8##!pDw5x--tS$DF2 z&H6p-Y1W@+WM<6%W`S90Ze)%zw>QU|JD5|uKvX z>krnSt-o3yS)W*+Szp+oO=6STLTzET2wM|dl&zVqxh>w7YD@FjbT)&{XtUdLY;Ieg zt&^>@t+%bnR$}XC8*B5}CfFv~rrM_4ytak5CAMnYGTTbqYTH)Z4%;rGv29oCOXrcdS`~ycqz*tyKP!nw-1#`&ppvvaF+hjW+nu=AAjs`Hlfj`KU`_s$2-ht5aNC(fri zq8xcni=5P)PB}wzDsqPBjLI3CGbd+p&a#}1Ip=e3Kf=ObCtV1F3$CiYqHDhn(LbH`q;J9wbr%X z^{H!<>xApH>#Xa7>yqn+>yGQL>%QwpH|q{?i`-&&usht{$Q|i!>P~g1x%F-M-OxF@-%x~IG6xj%9*axZnSb+31CbZ>Hh=05B`=05H| z<38`c Date: Tue, 8 Jan 2019 16:49:36 -0800 Subject: [PATCH 6/7] Move methods to proper location in Model Controller. --- .../UserInterfaceState.xcuserstate | Bin 26860 -> 29343 bytes List/List/ItemsController.swift | 8 ++++++++ List/List/ViewController.swift | 19 +++++------------- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate b/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate index 5bc03bbb265a2f99c525e8ca7bccc2488b62e156..1334ba8b83c6ed9a7a451d226cfe088c1cf0ba6f 100644 GIT binary patch delta 13869 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 delta 12942 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 diff --git a/List/List/ItemsController.swift b/List/List/ItemsController.swift index 5f40775..e37b52f 100644 --- a/List/List/ItemsController.swift +++ b/List/List/ItemsController.swift @@ -10,4 +10,12 @@ import Foundation class ItemsController { var items: [String] = [] + + func add(_ item: String) { + items.append(item) + } + + func resetItems() { + items.removeAll() + } } diff --git a/List/List/ViewController.swift b/List/List/ViewController.swift index 78fbd93..89cfd8b 100644 --- a/List/List/ViewController.swift +++ b/List/List/ViewController.swift @@ -12,30 +12,21 @@ class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() - resetItems() - } - - func add(_ item: String) { - itemsController.items.append(item) - let joined = itemsController.items.joined(separator: "\n") - textView.text = joined - } - - func resetItems() { - textView.text = "" - itemsController.items.removeAll() + itemsController.resetItems() } @IBAction func shouldAdd(_ sender: UIButton) { let text = textField.text ?? "" if !text.isEmpty { - add("\u{2022} \(text)") + itemsController.add("\u{2022} \(text)") } + textView.text = itemsController.items.joined(separator: "\n") textField.text = "" } @IBAction func shouldReset(_ sender: UIButton) { - resetItems() + itemsController.resetItems() + textView.text = "" } @IBAction func shouldPrintList(_ sender: UIButton) { From b58729f5ea918989ccfe3f6befd1dde3d0fa3fb4 Mon Sep 17 00:00:00 2001 From: nateyoungren Date: Tue, 8 Jan 2019 17:50:23 -0800 Subject: [PATCH 7/7] add test text file to documents --- List/List.xcodeproj/project.pbxproj | 4 ++++ .../UserInterfaceState.xcuserstate | Bin 29343 -> 28330 bytes 2 files changed, 4 insertions(+) diff --git a/List/List.xcodeproj/project.pbxproj b/List/List.xcodeproj/project.pbxproj index dc98f21..e30433d 100644 --- a/List/List.xcodeproj/project.pbxproj +++ b/List/List.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 776C031A21E58ABC00A85378 /* List-Test.txt in Resources */ = {isa = PBXBuildFile; fileRef = 776C031921E58ABC00A85378 /* List-Test.txt */; }; 7794FA9521E53E8900671BEC /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7794FA9421E53E8900671BEC /* AppDelegate.swift */; }; 7794FA9721E53E8900671BEC /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7794FA9621E53E8900671BEC /* ViewController.swift */; }; 7794FA9A21E53E8900671BEC /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7794FA9821E53E8900671BEC /* Main.storyboard */; }; @@ -17,6 +18,7 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 776C031921E58ABC00A85378 /* List-Test.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "List-Test.txt"; sourceTree = ""; }; 7794FA9121E53E8900671BEC /* List.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = List.app; sourceTree = BUILT_PRODUCTS_DIR; }; 7794FA9421E53E8900671BEC /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7794FA9621E53E8900671BEC /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -44,6 +46,7 @@ children = ( 7794FA9321E53E8900671BEC /* List */, 7794FA9221E53E8900671BEC /* Products */, + 776C031921E58ABC00A85378 /* List-Test.txt */, ); sourceTree = ""; }; @@ -130,6 +133,7 @@ files = ( 7794FA9F21E53E8900671BEC /* LaunchScreen.storyboard in Resources */, 7794FA9C21E53E8900671BEC /* Assets.xcassets in Resources */, + 776C031A21E58ABC00A85378 /* List-Test.txt in Resources */, 7794FA9A21E53E8900671BEC /* Main.storyboard in Resources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate b/List/List.xcodeproj/project.xcworkspace/xcuserdata/nathanaelyoungren.xcuserdatad/UserInterfaceState.xcuserstate index 1334ba8b83c6ed9a7a451d226cfe088c1cf0ba6f..e51ec446bbceb05b6f3e178cec582e14812ee701 100644 GIT binary patch delta 11298 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 HfocB_PeI*W delta 11816 zcma)h30zah6aU-Y_g=V@00D9U2`DNG0*Vkk2qc6fAt5&jCWwHFB6wgu+q|{5wN-01 z_OP`oh_|+0J+xlEZPj{P?|Rj!0Rc4xjjGdnXov+6Wh z^fP!P3RUn1`ane&B!n63)nee?4!!_if^Wetum|h~2f#sa6#NJ-fQ#T~a0y%n*TL`L zHn;=+0Dpr=;4!3N2n>Z`kPihg5=x;A#=LIX5H zGqk`;I0#n3!LS+*g$=L~j)xQAMEH^yz6@W1)8VUd7Mus)gzv+Ja1mSzm%-)mGq@FQ zgWKT_xD$R3zkpxDui)448~82U1rNeQ@Gv|APs7Xb3cL!h!RzoBcmv*pf5Q9l0iqFu zSj0m@6pkWLG?Jq3s0T_xsi-GPL%mTJ%0^1mA9>ZN5S1VYsz3wLAXJ5F(GWBojX;fP z6ly}_&_px|y@0%E4w{R6XdZeKy@lRJ@1XhUL$nU9M;p*avb+vpDZ13jiG8qhpCz)OeGd|FIPXelkD<#Yz! zi|$Ql(tYSGI-6F~Ikc88p>?#0uA&Fi)$~w$7+p_~q{q_}XfOQ|{WAR;{W?9HeuJJz zze6ve-=~}DrSvj-IlY?xkX}cBN`FD`qJN+d(ue57^fCGreVRT;U!t$mx9B_cecJn& zVVNK%mo!P`Uy+>?`cs>^tmy_FeWpb^-f7 zyM%3JSFx+vjqE1&Bla`)bM{+yFMEhJ{m33;e`jyAci2DJyX-yoPxe0hfPKjR#s1Bs zc!0;_1@MHta9#v2k|*Lt@uGS0JULIn>%vRnW%06kN}igh;T7(oTIoHZdRqB+NX#%`<{=A<$crkXtvKT+6{L5 z-iw+7_WNR@CkGvAd;VsnU|`$Oo6#XDfm9F`432@*RB|gg4o-lR;1u^Z_YOCod$$#w z0Y8DW;2ifJw}@NFE%ssAEDN|oZD3Z3aG># zx2U#%hp2Wwcfoxsyan6?e{#)SOAECUJmh+FOMExQG3ns(lTi>rmY{(UB1l7qTgolt zmUAmwArA(?Kp4cWFfg23^#lwQ5il?cM*A;rHMhop`F4oKE;&qW zV+|7s>ve=R>`Yj%=k%VM#_Dk+Ya5#MwGBg?h6y)}>cEiTg z`?d{TjUQbt_jL!lVSaRVWD(@zz9H)JUzviy4&tNW*mi7V2)12*VT~ig`tE9!#&((?h1Ex3H$->gZsH_7zA*C_?i+L^5Icx z+fw)=JO+=$6YwN=o%@};%RS&8bIOiIoPp>4bbf+o;W_RX?gsbk5_kb#ggGThw$-#4?+|I2y*whKe_u{Qld)G zz6s4a@@L7T02J~+Gec1r;&TtVzqr52%-kp2x0;f7hLrpuill;(2t_#zmeiW6rYfTl zM!mA}l}p5O5A_~ zCc@4znPegZ$hI+%4KNUnXv;UIz`5`(_#RRBdXh+d2ltZ{;tae5Zxfk_Pz;ixI3)L? z1d=JFp+0B;QlWgLLB+@vxh-->|M^78 z1W_WDybS(CfW^aeNP!Z#UofCB0Nk$_Kn&0_cmZ`rNvI3??9AQ7fX0BqfY)|Ib4k86 zeHFeHeX%#4XeR^p@@uE5Ze(p@-p=2*Cq94Ih5_4-DHHV}>-V@=gW zc~z6VcTVqYd0DC8TARB;In=ghDvU!1eC=6mSkYFI=GM|ZV$mI`N z81Q{@(M=(!vi+CvpI|2oK{f3UBmN0%qCiyF{!rvw&#Q@kmS98si|9&0Q(F*RE9m6A z)jueBZ2NO@2bK4OLc*U0Su~;jt(1h+?~~EY$JY&MN*UWY zZcKG;N?k)!?U*4|)jk|%@J%Qa73S7gH4GhBHMF*Wxqo!3rEQ#=-0GjaNG+^ws2xL8 zQ)BT{DtzUCoI8Bde+#$4*F3OHJ?nDisqE7`rE1iu`r4FdMs-*oho)1>%MnIX(TivrdI`OZUcn$9133l?3=%L%#Gn%f zotL9m(QDLAG!sqryGsm`f-&gAm0*}o252FVz7$DjuWDHx<;&=Z5Sm1rrYK+Dkzv=XgCt0@II zi$OXUhQV(b#$c$xuoH$oiGN<`>!sS~-Hg7Xl2@TE=rgnxZA0794zv?}j=n%&VvvDB zFAREPkcmMb46-oD#z2Wd4hDT!p|8<5=vzO1vY&RNJ!mgQR@)DQA`B+_$+zvRcQH7H z!7cJTsZt=+)D9jubZG4u%c%OgCVO4&_)6c@Jew~pKRPm^SW}>>9a1%}zNu|g-k91d z-_^X%$pXu;#_=5!{ZBjOeiD&ns~HjU{hQGl3m*1DYU-LA$0Vwzk7{#B9W3vn z2meOnA))a%23kLjLf@DAPT@49X#$Q$7!)_t#LJZU#%nS(fpoC{Damkk%`{1J^<0v* zw5qP*34K~XM-uw9kPfFKFet^qfPrxdEdpohXbj5yG9B-`p{c2iC4rxg!@%U<rvnKj&LlFxQ)0-8eF}&FWL1?xOs0b@es1V|t}phsD zr4(eQjJLb|^t>dYruDRe2n@W+J>N{0Kg^%8x3AVrleBFacmvEKQO*bEfj2oX$8ngO z%Du==zR5L^ufwX0Xbk~_R31_rRyweYRA}$8)|ANU{L2bjp3DoD8DtO zj(w^edDr}^v9;aW!WR7sJ>566C?2)YulimqN*vZsat1wxB7&!xl((~zeDH8^xF&M*9m4f;w@gdmPN5D^Lhq91fR4Iti*sYq5 zLqlVARa0GKLkqpw_pm6AU|iyp6{isY=OW+T3tj$HNUp7`t*`mNuJW1iM9*&zEu-6Y zw#KiswHQqB4YEjthw1h726`hA=O+3i`eXVN-??IaB9Xz%7!dQEf0W)#Zy|3#qqoxA zC=(gA6ZND&2e*C35~G)ldk2Hb&#LuH`m1)eV(=mcQ#y3o&igxR!xH*?dN;iX1EN(9 z1N@IZ_tE?P!hZn+Z=3K%#Z9#%$Erz|H>R<^zIIG%TYM70f5h$mA05!g{d&P*YMWx( zQ`2@$fZcvgaC6!e@gJ+A&y#iS1h**@xQ)R}97PtzQSE>)QyW@{R6c4G#>-she@^uN z;+KbiCL-a61UkPwI;Q^Sm-Fu!O#iQ0gxN>*PGU%Zg4=#xM9@TruRbfo2lPX_iNHCF z!P^+TMr24dxUdZoLy>*K00uIMp*vwP1B2Hwn2o`_r-Ed7On_eoGclM&1nFB;7OfPZ zf28(|(ApgcBV;0} z4UdeCag*@D*ck^?&NvwtQ^5?xU?~R6Fj$Vk3Jg|aunL3K%NY+-$qZtuh|H@2v63|y zkgc@^gD=|T|0OrqA3l7yN@Zz{OcRL*%qV6wGln6K?gI=y#9$o;>sy&|@B%ZQA--#a zKNtTPgHJfUk1w8KVZ6kO7!HGtPmZwvbuGEM^Fmtr!pr z+cDVre>1lKmzAwyKJ2iv@~39DzRk>bkl6psDV6z%A;qg_ZHWZCC)@a0d#V)h#|~>8 zS6^eU9b4PfwKAuhFOQeTZ{H}N`}IoH@U`!FnZo-G^ZmaW#BOkw*^9xqetS6aBn~tC z{W3p*!7j4OCp+XYbL#)!BF->BF=y$0#3G1dh(&xya<79J9B=b&Uy>qRN91NMF(eOb zWiB&Un5)b+48F%;HwMHx?rmj$@z-1!Vh%s}iyRp2Z#Rh|=B^*!Jq-4Bn8X93r2nl8 zJ%P>wmTofy7Woa~z|*3TZ;m;_`!pQ0L2Ph`-#&)Hq5tsPtbq7!R>+34#6cX!;0Ojs zpIQL@pMLvaEr90y5u1%`cg{chmowb2@IFl)YJJu_6Se-A>u=L2+m$SwC7J$761ft3 zrmz{LIK-y1J=rui9fQ*toWbBH49>Q)z1ZHUGfVu+ISekf<=(&gM&{>sW&5-F{z(Ja zTvo;AVQ?OU3m9C);OAEACOAv2B=wpSl7Sq~pXOjoStGGR>I|oDX3H?R{N#AbT1ZyS zT3H(gS1`E#)NQck?7)A?h*>wKU`f_>)t?bxBT7827I$WA*kS)RwvLP?iOw(nu{V5D zjZDanV#g2^>}U*bHj_%$LSK<4Hj5q4PH4}qI@COwCAG38>=gES_5}<`+_{axoh2;C zVst+Q{BrC;uJb~Z^F*;m=u*ct3hb{6|O26r(aR`n+a_c3^Y!NXNb}hLh|9v&K1n_rTN{ZfP> z7=~gPh9MtA0fs^h!!eA&Fmg2!=VhYgtL!yuM%&*_>LxYAFI5pyI*h_FdgCkh2+;LW zTg@Zl@soc~R?LGu|6z)UFcdfQ7z`!8FC5(yd4bfnWxOC>FfW7`$_wKWwnUaP3}Z2j z!!RC0`9?u`77+4ccv2#3o|q@WFag6vU%6B7;wA7p5vpyb&g+ax8N0m_!|O_ITf*zc zOXhXQFbTtM81{H-@4QrA#=qDwuNS4@Wn$RHznreVN6w^9IlKY?HZYeA%)>C*Kd`&6 z$ff9{<&paJ|C~#CIx?^n!xaC(RNpLDQm~n4^-IBmVVZBdtBZ^j5qVA&Wfan14kqX6 zu}x`dhXF)1!{)0=+p?=Wh8GYR6dV#7CXSaYx^(Z6(yMo7cEA1u@@$rcBSB7lTx3zqBj)9_-4}5sE9~Xv}z zzIu26)P%%7S%iwCuA!!J{1YmDk`9rv%A5=?k`r;^m4bf?E63d3A`=pGRRc*0uddpk zbyba-*pi#%6L}J3ngVTMQE`b*UurOxnamce&F(07x+(^`J(WI-=UXqu(Hu{}=NK+p zKnWvKsQ^kyNvK3Bh036^C^J<~O{Bck+teCrE%i0EhdNCCL|vk;QrD>))Gg|F>JD|6 z`WwW66wni-gI>S|hJX>^Ip77alf&%0pcyOyOTltdv^@#VgGW#f6JRHpL>k0{;ZW#( zj&y=KI2BGK&EUmwGimwmCROy)@FogD5>k-ugYr-jsSwtXp6rWgHd;zLuba^>^gXH2 z{DAhg^;{2=e(N#PYdwX|ptJ3#)Tf2mLG8agKG6m45s6I(i>`KJZB5=7U&^2Wubbzw zS(-@d$pNx_F_l1dr!uJ=DwniU*V0=^8+9*fpdP1Bk_PH|`XYUqzRFNc7p6B;$P_a= z(i=50CdNW?P6tUf>q$p+6v+>pnCF;@q%Z0vUD0XGd(5Y#?|F(eI29yxm9Zn(dUhgd zSia0o_YyBOlYO0ZEZ-yD%0+B5=~ymh_p=Xpy?G71g}l|g4|wZ%8+jk`KH+`E+rvA? zJHb1}I}?x}pbM}ER0h-r3=bF^zy-_>m=oX&cr)PbfcXLM1-u`yCg6jBbpaa!HU)ef z@M*x7fUN;X1I`Eh5r_h#0=owG3Cs;t1?C6p0=?ydm4UT^4S|h;qXXvzE(}~0xHzyS zaCPA4fx7~a1fCE4Iq-7ewZLBje+{C70)v8rLV`p=lA!FMf*@^BVNh|9J;)hU5#$LP z6f`)fF=%wq*r0Jihl9=qT?x7t^h?mML4O3@3%VclFzD~#xZu3t!NDVf>w_DD#|L|Z zrv<+k-0BTp9=tMmb?~O(kAgo5-Wj|v_-OEj;7h?*g0BbP2)-HoSMZ|{Dg=fM3K<#l zT*!owNg-20UI=+5a@3$=vWLd!#4p#wulg-#58A(RW9 z8agd>PUt(K?}jc2T^PDFbb08?(AA-9Lq7}M6?!uCaTpcm4Gaqpiw^4));%mGtY=ty zSaw)WSii6VVXCmau#&LKuwh{%!bXNQhH+u9h0P0F9M%%n8n!HK1)t^f`7*wOpUCgb zPv-aFr}ESIS^NQf3%{IS#mD^V{1yD|{N4OL{Js2r{8RjM{0sb_`PcZr@PFms;{VNm zEC2!|7~>Uq1z7N+;3dId!a!lTFj5#Lj1fwNiNempF2ZiY?!pvdvCu7iQMf?3Qn*I= zfpEQWqwpi)0pSVZW#Jv+UE!a?2g1LEkHV?&&~SdZFgzk$6doNe4wr@}g=d88!^eit z3SS()GW_@nU05g;Nc!W$hSk4T8<6p<9sH6lHtS43t+R)jL5 zZ-gUaM8uqkRS{oB9Edm^aWvw1#L0-$5%(k6$cRW$WOSrBQW_Z>86VjrGBq+SG9$8g zWS_|F$ehT6NK@p9$hnbgNb6)*kSI(f70E=gqIgkPQKm>G$`@%wT2YZ# zR3fs893rQvLgW@zimF5nqEVtTq9)M^(Phz9(RI;{s5McWqdtq;7PTX~TXdi3?C6~6 ze$h*#H$-oW{y6&6nCO^JF)1-UW71=K#bm||h*8Dl$7o`-F-0-8F*9O5jQJtv$Cwi_ zr(({;T#mUF^Lxyln7c85#yp7mE9Q}yC-z2)#bT*AR-7R2Bu)}{6{m{(i&f%Mv0Yp) zc8LdyJ>sF_I`IhcNO7ZhwD@)LCh;-xJqaa25=O$42qa>OR1zzRmnbBOlFpJYk~B$% zBv+!5XeC9GQi)Mwl2{~zCAE?db$ zS=v>aEbSr9ln#)pr1?^fR4Xl#mPqwdr_>`IBpoarDy@@_kdBm2k-j8-Svp-hL;8-i zS-M2JRJvTcQo2F9N&2z$Q|T7zR_Sr+V_BjsU#628WMwk5tU^{J8zLJf8!oGtHONNE zo|jFPO_RMWn<4YglFgRQku8=jk*$+$mVGAMCfgzVT=u?v=$iwAgxl|r2CmDmhL_R^@Dqkz#B;PFm zM!r|RPkumtNPa@@JtaRQKPx{kzb?NazpWsNiXu=EtO!*^DxwrI3W-9d=&b0fNKxb{ z@)T-Cfuc}hP?Ram3ai4ds8kG5G%Cht!)!V`G+UaTklii2PqsR{AiF4AmtC4&mTk!% zls!1RHhWn1i0p>!(b;3O-^t#VeOW0~Mkr;v?zgqycl~zv+uLt{|JnT)^k3M2asMT`fw@t+opZb9cF#@CP0#I}o0XfB zTb!%UHRhUft+|d|XKqEVJGVY}ZSGMOP$jBzRW4PN3ajR+-d4S75TgK&*Wdv|26-&{5$#g^6#rd)lq7xI!>)nC#uubS?U~hf3-?os4h|K)kd{R zU8(lgtG()1)pOO0)XUT>)oaursy|k5R)416uHLCWs6MH_qQ0*FRsEa#j{2@9PSahJ zs!7-M)?{gvngJS}#;mbv$~6_5!J1mlP|a{nz2+UwI?XQ40nK5}kDB9}OPW74e`+3T z9uJ-PcD8n|_D${E+WFcR?GM@?wI{TvwLfXEY42(O)ZW)VETjv?g*^)U7J3bZ!wW|i zjw&2m_*~(H!c~PE3%3^TDEy-E>%v`y-xvN^c)svT;q}5Bg|~_Vi^7Z2i~1DViUt?e z77Z&JQS^L~w`gY3>qT!A`HB`7wG_1$Eic+s^hwc{qOHZ2vk@dWYVnck2h~2kUF}BlXYeC+er@z51#8Y5F<(dHT2Y@9Nj{+CjwR8p!hHI;fwt4eE1hn5a6tuGy4x}bDr>FUxC zO4pTcF1=8C#Sm_g8uAQUuc6*B(eQ!+8>SgvHOw^3Hq0?BGPD}j8$LE{Hf%L~ZurXZ zt>HVvA;Ve2Wy3YY4Z|(NJ;MXTUxvp@dM*}<0j)L#x2He#+}A5j9(cK7*8AjEDI^?TBa>CmklfPjw^ei43|wSd!_8P zGGEzSW$%=|SGKThaoM)A3nrc^$<))7VahaRnN+4?lip-BnN2p6!{jtonB1n}rbg3f zQmT4&l|+GN^h`o{E~X^&~2>7ePb>741J>9XmX>7MDn z>7nV7IoK>96)baLy|T9;c_S=U-W zv~IQTuzq3v+IrA>*m~4@+nGPq)vo&$7R3Z??DEm)lp_*V{MQKelhSe`f#6zSn-j ze$IZ;e%XG_{+s=d{jUAK-TTnNIKmuKN1Q|9=;TOpbanJ|6gx^BI!CF)<*0JhIEFfg zJ4QR29OE6698(;N92*^n9A_Oj9Jd^|9d{k~9e+6<!#QCH1qVs3xCFd1auq(#Z)0N@MbY;8xx(2xNTpCxQtHf36Dsv5W)w$|j z4X)9yCYSd)*96xj*A&+aF3vU8^}cJX>#*yB>t01jg}kD7MOnr03S9A8#f*ws6>n86 zsaRIAvSLlehZXB9j#QkfxL)yV#cvgND(+Q0sQA0$@xbhXBL=n%+%@pFJH?&j&UNRz z3*04cz1!d}a}RUB=6>7#u6u!dk-Np+>R#*K_zTu%ffu1N&tVixi^dxywJZYW`Po^i!Q{XXpDm;TdwVq*~5uP!gah~y>NuDX5 z*`9YiOFb(*t34lh)_FE~_Ir+3FRpH>-c-H0ddHK4F>L?lRdyVSDPG%M_2>Tw3&5@*