diff --git a/MarsWater/MarsWater.xcodeproj/project.pbxproj b/MarsWater/MarsWater.xcodeproj/project.pbxproj new file mode 100644 index 0000000..d5bcba0 --- /dev/null +++ b/MarsWater/MarsWater.xcodeproj/project.pbxproj @@ -0,0 +1,486 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + 3895F11D1BC1AE5C0096DF08 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 3895F11C1BC1AE5C0096DF08 /* main.m */; }; + 3895F1201BC1AE5C0096DF08 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 3895F11F1BC1AE5C0096DF08 /* AppDelegate.m */; }; + 3895F1231BC1AE5C0096DF08 /* MarsWater.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 3895F1211BC1AE5C0096DF08 /* MarsWater.xcdatamodeld */; }; + 3895F1261BC1AE5C0096DF08 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3895F1251BC1AE5C0096DF08 /* ViewController.m */; }; + 3895F1291BC1AE5C0096DF08 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 3895F1271BC1AE5C0096DF08 /* Main.storyboard */; }; + 3895F12B1BC1AE5C0096DF08 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 3895F12A1BC1AE5C0096DF08 /* Images.xcassets */; }; + 3895F12E1BC1AE5C0096DF08 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3895F12C1BC1AE5C0096DF08 /* LaunchScreen.xib */; }; + 3895F13A1BC1AE5D0096DF08 /* MarsWaterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3895F1391BC1AE5D0096DF08 /* MarsWaterTests.m */; }; + 3895F15E1BC1B5760096DF08 /* List.m in Sources */ = {isa = PBXBuildFile; fileRef = 3895F15D1BC1B5760096DF08 /* List.m */; }; + 3895F1611BC1B5760096DF08 /* Task.m in Sources */ = {isa = PBXBuildFile; fileRef = 3895F1601BC1B5760096DF08 /* Task.m */; }; + 3895F1641BC1B9190096DF08 /* ListTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3895F1631BC1B9190096DF08 /* ListTableViewController.m */; }; + 3895F1671BC1B9280096DF08 /* ListCreationTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3895F1661BC1B9280096DF08 /* ListCreationTableViewController.m */; }; + 38EADF061BC822630007EC3E /* TasksTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 38EADF051BC822630007EC3E /* TasksTableViewController.m */; }; + 38EADF091BC8247A0007EC3E /* NewTaskViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 38EADF081BC8247A0007EC3E /* NewTaskViewController.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXContainerItemProxy section */ + 3895F1341BC1AE5D0096DF08 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 3895F10F1BC1AE5C0096DF08 /* Project object */; + proxyType = 1; + remoteGlobalIDString = 3895F1161BC1AE5C0096DF08; + remoteInfo = MarsWater; + }; +/* End PBXContainerItemProxy section */ + +/* Begin PBXFileReference section */ + 3895F1171BC1AE5C0096DF08 /* MarsWater.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MarsWater.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 3895F11B1BC1AE5C0096DF08 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3895F11C1BC1AE5C0096DF08 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; + 3895F11E1BC1AE5C0096DF08 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; + 3895F11F1BC1AE5C0096DF08 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; + 3895F1221BC1AE5C0096DF08 /* MarsWater.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = MarsWater.xcdatamodel; sourceTree = ""; }; + 3895F1241BC1AE5C0096DF08 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; + 3895F1251BC1AE5C0096DF08 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; + 3895F1281BC1AE5C0096DF08 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 3895F12A1BC1AE5C0096DF08 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; }; + 3895F12D1BC1AE5C0096DF08 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; }; + 3895F1331BC1AE5D0096DF08 /* MarsWaterTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MarsWaterTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + 3895F1381BC1AE5D0096DF08 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 3895F1391BC1AE5D0096DF08 /* MarsWaterTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MarsWaterTests.m; sourceTree = ""; }; + 3895F15C1BC1B5760096DF08 /* List.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = List.h; sourceTree = ""; }; + 3895F15D1BC1B5760096DF08 /* List.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = List.m; sourceTree = ""; }; + 3895F15F1BC1B5760096DF08 /* Task.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Task.h; sourceTree = ""; }; + 3895F1601BC1B5760096DF08 /* Task.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Task.m; sourceTree = ""; }; + 3895F1621BC1B9190096DF08 /* ListTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListTableViewController.h; sourceTree = ""; }; + 3895F1631BC1B9190096DF08 /* ListTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ListTableViewController.m; sourceTree = ""; }; + 3895F1651BC1B9280096DF08 /* ListCreationTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ListCreationTableViewController.h; sourceTree = ""; }; + 3895F1661BC1B9280096DF08 /* ListCreationTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ListCreationTableViewController.m; sourceTree = ""; }; + 38EADF041BC822630007EC3E /* TasksTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TasksTableViewController.h; sourceTree = ""; }; + 38EADF051BC822630007EC3E /* TasksTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TasksTableViewController.m; sourceTree = ""; }; + 38EADF071BC8247A0007EC3E /* NewTaskViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NewTaskViewController.h; sourceTree = ""; }; + 38EADF081BC8247A0007EC3E /* NewTaskViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NewTaskViewController.m; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 3895F1141BC1AE5C0096DF08 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3895F1301BC1AE5D0096DF08 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 3895F10E1BC1AE5B0096DF08 = { + isa = PBXGroup; + children = ( + 3895F1191BC1AE5C0096DF08 /* MarsWater */, + 3895F1361BC1AE5D0096DF08 /* MarsWaterTests */, + 3895F1181BC1AE5C0096DF08 /* Products */, + ); + sourceTree = ""; + }; + 3895F1181BC1AE5C0096DF08 /* Products */ = { + isa = PBXGroup; + children = ( + 3895F1171BC1AE5C0096DF08 /* MarsWater.app */, + 3895F1331BC1AE5D0096DF08 /* MarsWaterTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; + 3895F1191BC1AE5C0096DF08 /* MarsWater */ = { + isa = PBXGroup; + children = ( + 3895F11E1BC1AE5C0096DF08 /* AppDelegate.h */, + 3895F11F1BC1AE5C0096DF08 /* AppDelegate.m */, + 3895F1241BC1AE5C0096DF08 /* ViewController.h */, + 3895F1251BC1AE5C0096DF08 /* ViewController.m */, + 3895F1621BC1B9190096DF08 /* ListTableViewController.h */, + 3895F1631BC1B9190096DF08 /* ListTableViewController.m */, + 3895F1651BC1B9280096DF08 /* ListCreationTableViewController.h */, + 3895F1661BC1B9280096DF08 /* ListCreationTableViewController.m */, + 3895F1271BC1AE5C0096DF08 /* Main.storyboard */, + 38EADF071BC8247A0007EC3E /* NewTaskViewController.h */, + 38EADF081BC8247A0007EC3E /* NewTaskViewController.m */, + 38EADF041BC822630007EC3E /* TasksTableViewController.h */, + 38EADF051BC822630007EC3E /* TasksTableViewController.m */, + 3895F12A1BC1AE5C0096DF08 /* Images.xcassets */, + 3895F12C1BC1AE5C0096DF08 /* LaunchScreen.xib */, + 3895F1211BC1AE5C0096DF08 /* MarsWater.xcdatamodeld */, + 3895F15F1BC1B5760096DF08 /* Task.h */, + 3895F1601BC1B5760096DF08 /* Task.m */, + 3895F15C1BC1B5760096DF08 /* List.h */, + 3895F15D1BC1B5760096DF08 /* List.m */, + 3895F11A1BC1AE5C0096DF08 /* Supporting Files */, + ); + path = MarsWater; + sourceTree = ""; + }; + 3895F11A1BC1AE5C0096DF08 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 3895F11B1BC1AE5C0096DF08 /* Info.plist */, + 3895F11C1BC1AE5C0096DF08 /* main.m */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; + 3895F1361BC1AE5D0096DF08 /* MarsWaterTests */ = { + isa = PBXGroup; + children = ( + 3895F1391BC1AE5D0096DF08 /* MarsWaterTests.m */, + 3895F1371BC1AE5D0096DF08 /* Supporting Files */, + ); + path = MarsWaterTests; + sourceTree = ""; + }; + 3895F1371BC1AE5D0096DF08 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 3895F1381BC1AE5D0096DF08 /* Info.plist */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 3895F1161BC1AE5C0096DF08 /* MarsWater */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3895F13D1BC1AE5D0096DF08 /* Build configuration list for PBXNativeTarget "MarsWater" */; + buildPhases = ( + 3895F1131BC1AE5C0096DF08 /* Sources */, + 3895F1141BC1AE5C0096DF08 /* Frameworks */, + 3895F1151BC1AE5C0096DF08 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = MarsWater; + productName = MarsWater; + productReference = 3895F1171BC1AE5C0096DF08 /* MarsWater.app */; + productType = "com.apple.product-type.application"; + }; + 3895F1321BC1AE5D0096DF08 /* MarsWaterTests */ = { + isa = PBXNativeTarget; + buildConfigurationList = 3895F1401BC1AE5D0096DF08 /* Build configuration list for PBXNativeTarget "MarsWaterTests" */; + buildPhases = ( + 3895F12F1BC1AE5D0096DF08 /* Sources */, + 3895F1301BC1AE5D0096DF08 /* Frameworks */, + 3895F1311BC1AE5D0096DF08 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + 3895F1351BC1AE5D0096DF08 /* PBXTargetDependency */, + ); + name = MarsWaterTests; + productName = MarsWaterTests; + productReference = 3895F1331BC1AE5D0096DF08 /* MarsWaterTests.xctest */; + productType = "com.apple.product-type.bundle.unit-test"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 3895F10F1BC1AE5C0096DF08 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0640; + ORGANIZATIONNAME = Henna; + TargetAttributes = { + 3895F1161BC1AE5C0096DF08 = { + CreatedOnToolsVersion = 6.4; + }; + 3895F1321BC1AE5D0096DF08 = { + CreatedOnToolsVersion = 6.4; + TestTargetID = 3895F1161BC1AE5C0096DF08; + }; + }; + }; + buildConfigurationList = 3895F1121BC1AE5C0096DF08 /* Build configuration list for PBXProject "MarsWater" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 3895F10E1BC1AE5B0096DF08; + productRefGroup = 3895F1181BC1AE5C0096DF08 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 3895F1161BC1AE5C0096DF08 /* MarsWater */, + 3895F1321BC1AE5D0096DF08 /* MarsWaterTests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 3895F1151BC1AE5C0096DF08 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3895F1291BC1AE5C0096DF08 /* Main.storyboard in Resources */, + 3895F12E1BC1AE5C0096DF08 /* LaunchScreen.xib in Resources */, + 3895F12B1BC1AE5C0096DF08 /* Images.xcassets in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3895F1311BC1AE5D0096DF08 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 3895F1131BC1AE5C0096DF08 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3895F15E1BC1B5760096DF08 /* List.m in Sources */, + 38EADF061BC822630007EC3E /* TasksTableViewController.m in Sources */, + 38EADF091BC8247A0007EC3E /* NewTaskViewController.m in Sources */, + 3895F1231BC1AE5C0096DF08 /* MarsWater.xcdatamodeld in Sources */, + 3895F1201BC1AE5C0096DF08 /* AppDelegate.m in Sources */, + 3895F1641BC1B9190096DF08 /* ListTableViewController.m in Sources */, + 3895F1671BC1B9280096DF08 /* ListCreationTableViewController.m in Sources */, + 3895F1261BC1AE5C0096DF08 /* ViewController.m in Sources */, + 3895F1611BC1B5760096DF08 /* Task.m in Sources */, + 3895F11D1BC1AE5C0096DF08 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 3895F12F1BC1AE5D0096DF08 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 3895F13A1BC1AE5D0096DF08 /* MarsWaterTests.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXTargetDependency section */ + 3895F1351BC1AE5D0096DF08 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 3895F1161BC1AE5C0096DF08 /* MarsWater */; + targetProxy = 3895F1341BC1AE5D0096DF08 /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + +/* Begin PBXVariantGroup section */ + 3895F1271BC1AE5C0096DF08 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 3895F1281BC1AE5C0096DF08 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 3895F12C1BC1AE5C0096DF08 /* LaunchScreen.xib */ = { + isa = PBXVariantGroup; + children = ( + 3895F12D1BC1AE5C0096DF08 /* Base */, + ); + name = LaunchScreen.xib; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 3895F13B1BC1AE5D0096DF08 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + 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 = 8.4; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + 3895F13C1BC1AE5D0096DF08 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "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 = gnu99; + 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 = 8.4; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 3895F13E1BC1AE5D0096DF08 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + INFOPLIST_FILE = MarsWater/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + 3895F13F1BC1AE5D0096DF08 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + INFOPLIST_FILE = MarsWater/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; + 3895F1411BC1AE5D0096DF08 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + INFOPLIST_FILE = MarsWaterTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MarsWater.app/MarsWater"; + }; + name = Debug; + }; + 3895F1421BC1AE5D0096DF08 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + BUNDLE_LOADER = "$(TEST_HOST)"; + FRAMEWORK_SEARCH_PATHS = ( + "$(SDKROOT)/Developer/Library/Frameworks", + "$(inherited)", + ); + INFOPLIST_FILE = MarsWaterTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/MarsWater.app/MarsWater"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 3895F1121BC1AE5C0096DF08 /* Build configuration list for PBXProject "MarsWater" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3895F13B1BC1AE5D0096DF08 /* Debug */, + 3895F13C1BC1AE5D0096DF08 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3895F13D1BC1AE5D0096DF08 /* Build configuration list for PBXNativeTarget "MarsWater" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3895F13E1BC1AE5D0096DF08 /* Debug */, + 3895F13F1BC1AE5D0096DF08 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 3895F1401BC1AE5D0096DF08 /* Build configuration list for PBXNativeTarget "MarsWaterTests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 3895F1411BC1AE5D0096DF08 /* Debug */, + 3895F1421BC1AE5D0096DF08 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCVersionGroup section */ + 3895F1211BC1AE5C0096DF08 /* MarsWater.xcdatamodeld */ = { + isa = XCVersionGroup; + children = ( + 3895F1221BC1AE5C0096DF08 /* MarsWater.xcdatamodel */, + ); + currentVersion = 3895F1221BC1AE5C0096DF08 /* MarsWater.xcdatamodel */; + path = MarsWater.xcdatamodeld; + sourceTree = ""; + versionGroupType = wrapper.xcdatamodel; + }; +/* End XCVersionGroup section */ + }; + rootObject = 3895F10F1BC1AE5C0096DF08 /* Project object */; +} diff --git a/SavingForever/SavingForever.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/MarsWater/MarsWater.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 68% rename from SavingForever/SavingForever.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to MarsWater/MarsWater.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 43eb427..4acdfe2 100644 --- a/SavingForever/SavingForever.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/MarsWater/MarsWater.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -2,6 +2,6 @@ + location = "self:MarsWater.xcodeproj"> diff --git a/SavingForever/SavingForever/AppDelegate.h b/MarsWater/MarsWater/AppDelegate.h similarity index 81% rename from SavingForever/SavingForever/AppDelegate.h rename to MarsWater/MarsWater/AppDelegate.h index 6657831..56921a8 100644 --- a/SavingForever/SavingForever/AppDelegate.h +++ b/MarsWater/MarsWater/AppDelegate.h @@ -1,9 +1,9 @@ // // AppDelegate.h -// SavingForever +// MarsWater // -// Created by Michael Kavouras on 10/4/15. -// Copyright © 2015 Michael Kavouras. All rights reserved. +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. // #import diff --git a/SavingForever/SavingForever/AppDelegate.m b/MarsWater/MarsWater/AppDelegate.m similarity index 91% rename from SavingForever/SavingForever/AppDelegate.m rename to MarsWater/MarsWater/AppDelegate.m index 29b2305..a8488fa 100644 --- a/SavingForever/SavingForever/AppDelegate.m +++ b/MarsWater/MarsWater/AppDelegate.m @@ -1,9 +1,9 @@ // // AppDelegate.m -// SavingForever +// MarsWater // -// Created by Michael Kavouras on 10/4/15. -// Copyright © 2015 Michael Kavouras. All rights reserved. +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. // #import "AppDelegate.h" @@ -51,7 +51,7 @@ - (void)applicationWillTerminate:(UIApplication *)application { @synthesize persistentStoreCoordinator = _persistentStoreCoordinator; - (NSURL *)applicationDocumentsDirectory { - // The directory the application uses to store the Core Data store file. This code uses a directory named "com.mikekavouras.SavingForever" in the application's documents directory. + // The directory the application uses to store the Core Data store file. This code uses a directory named "nyc.c4q.xhenna92.MarsWater" in the application's documents directory. return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; } @@ -60,13 +60,13 @@ - (NSManagedObjectModel *)managedObjectModel { if (_managedObjectModel != nil) { return _managedObjectModel; } - NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"SavingForever" withExtension:@"momd"]; + NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"MarsWater" withExtension:@"momd"]; _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]; return _managedObjectModel; } - (NSPersistentStoreCoordinator *)persistentStoreCoordinator { - // The persistent store coordinator for the application. This implementation creates and returns a coordinator, having added the store for the application to it. + // The persistent store coordinator for the application. This implementation creates and return a coordinator, having added the store for the application to it. if (_persistentStoreCoordinator != nil) { return _persistentStoreCoordinator; } @@ -74,7 +74,7 @@ - (NSPersistentStoreCoordinator *)persistentStoreCoordinator { // Create the coordinator and store _persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]]; - NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"SavingForever.sqlite"]; + NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"MarsWater.sqlite"]; NSError *error = nil; NSString *failureReason = @"There was an error creating or loading the application's saved data."; if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) { @@ -104,7 +104,7 @@ - (NSManagedObjectContext *)managedObjectContext { if (!coordinator) { return nil; } - _managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType]; + _managedObjectContext = [[NSManagedObjectContext alloc] init]; [_managedObjectContext setPersistentStoreCoordinator:coordinator]; return _managedObjectContext; } diff --git a/MarsWater/MarsWater/Base.lproj/LaunchScreen.xib b/MarsWater/MarsWater/Base.lproj/LaunchScreen.xib new file mode 100644 index 0000000..8e5f09f --- /dev/null +++ b/MarsWater/MarsWater/Base.lproj/LaunchScreen.xib @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MarsWater/MarsWater/Base.lproj/Main.storyboard b/MarsWater/MarsWater/Base.lproj/Main.storyboard new file mode 100644 index 0000000..d3b20eb --- /dev/null +++ b/MarsWater/MarsWater/Base.lproj/Main.storyboard @@ -0,0 +1,301 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SavingForever/SavingForever/Assets.xcassets/AppIcon.appiconset/Contents.json b/MarsWater/MarsWater/Images.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from SavingForever/SavingForever/Assets.xcassets/AppIcon.appiconset/Contents.json rename to MarsWater/MarsWater/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/SavingForever/SavingForever/Info.plist b/MarsWater/MarsWater/Info.plist similarity index 94% rename from SavingForever/SavingForever/Info.plist rename to MarsWater/MarsWater/Info.plist index 6905cc6..3a7483e 100644 --- a/SavingForever/SavingForever/Info.plist +++ b/MarsWater/MarsWater/Info.plist @@ -7,7 +7,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) + nyc.c4q.xhenna92.$(PRODUCT_NAME:rfc1034identifier) CFBundleInfoDictionaryVersion 6.0 CFBundleName diff --git a/MarsWater/MarsWater/List.h b/MarsWater/MarsWater/List.h new file mode 100644 index 0000000..570c707 --- /dev/null +++ b/MarsWater/MarsWater/List.h @@ -0,0 +1,21 @@ +// +// List.h +// MarsWater +// +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import +#import + +@class Task; + +@interface List : NSManagedObject + +@property (nonatomic, retain) NSString * title; +@property (nonatomic, retain) NSDate * createdAt; +@property (nonatomic, retain) NSString * color; +@property (nonatomic, retain) Task *task; + +@end diff --git a/MarsWater/MarsWater/List.m b/MarsWater/MarsWater/List.m new file mode 100644 index 0000000..eb34d2f --- /dev/null +++ b/MarsWater/MarsWater/List.m @@ -0,0 +1,20 @@ +// +// List.m +// MarsWater +// +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import "List.h" +#import "Task.h" + + +@implementation List + +@dynamic title; +@dynamic createdAt; +@dynamic color; +@dynamic task; + +@end diff --git a/MarsWater/MarsWater/ListCreationTableViewController.h b/MarsWater/MarsWater/ListCreationTableViewController.h new file mode 100644 index 0000000..670b2d4 --- /dev/null +++ b/MarsWater/MarsWater/ListCreationTableViewController.h @@ -0,0 +1,13 @@ +// +// ListCreationTableViewController.h +// MarsWater +// +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import + +@interface ListCreationTableViewController : UITableViewController + +@end diff --git a/MarsWater/MarsWater/ListCreationTableViewController.m b/MarsWater/MarsWater/ListCreationTableViewController.m new file mode 100644 index 0000000..c6069f5 --- /dev/null +++ b/MarsWater/MarsWater/ListCreationTableViewController.m @@ -0,0 +1,95 @@ +// +// ListCreationTableViewController.m +// MarsWater +// +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import "ListCreationTableViewController.h" +#import "List.h" +#import +#import "AppDelegate.h" +#import + +@interface ListCreationTableViewController () +@property (weak, nonatomic) IBOutlet UITextField *titleTextField; +@property (nonatomic) List *list; +@property (nonatomic) NSString *priorityColor; +@property (weak, nonatomic) IBOutlet UIButton *orangebtn; +@property (nonatomic, weak) UIButton *lastSelectedButton; +@end + +@implementation ListCreationTableViewController + +-(void)viewDidLoad{ + [super viewDidLoad]; + [self setupNavigationBar]; + + [self.orangebtn.layer setBorderWidth:3.0]; + [self.orangebtn.layer setBorderColor:[[UIColor darkGrayColor] CGColor]]; + [self setLastSelectedButton:self.orangebtn]; + +} + + +- (IBAction)colorButtonTapped:(UIButton *)sender { + if ([self.lastSelectedButton isEqual:sender]) { + // Don't need to do anything in this case because the button is already selected + return; + } + [self.lastSelectedButton.layer setBorderColor:[[UIColor clearColor] CGColor]]; + [sender.layer setBorderWidth:3.0]; + [sender.layer setBorderColor:[[UIColor darkGrayColor] CGColor]]; + + [self setLastSelectedButton:sender]; + + const CGFloat *components = CGColorGetComponents(sender.backgroundColor.CGColor); + CGFloat r = components[0]; + CGFloat g = components[1]; + CGFloat b = components[2]; + self.priorityColor = [NSString stringWithFormat:@"%02lX%02lX%02lX", + lroundf(r * 255), + lroundf(g * 255), + lroundf(b * 255)]; + +} + +- (void) setupNavigationBar{ + + self.navigationItem.title = @"Make A New List!"; + self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancel)]; + self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(save)]; +} + +-(void) cancel{ + + [self dismissViewControllerAnimated:YES completion:nil]; +} + +-(void) save{ + if (self.titleTextField.text.length != 0) { + + AppDelegate *delegate = [UIApplication sharedApplication].delegate; + + self.list = [NSEntityDescription insertNewObjectForEntityForName:@"List" inManagedObjectContext:delegate.managedObjectContext]; + self.list.title = self.titleTextField.text; + self.list.createdAt = [NSDate date]; + + if (!self.priorityColor) { + self.priorityColor= @"FF6600"; + } + self.list.color = self.priorityColor; + + [delegate.managedObjectContext save:nil]; + [self dismissViewControllerAnimated:YES completion:nil]; + } + else{ + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"💁" message:@"Please enter a list name" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; + [alert show]; + + } + +} + +@end diff --git a/MarsWater/MarsWater/ListTableViewController.h b/MarsWater/MarsWater/ListTableViewController.h new file mode 100644 index 0000000..1e1006c --- /dev/null +++ b/MarsWater/MarsWater/ListTableViewController.h @@ -0,0 +1,13 @@ +// +// ListTableViewController.h +// MarsWater +// +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import + +@interface ListTableViewController : UITableViewController + +@end diff --git a/MarsWater/MarsWater/ListTableViewController.m b/MarsWater/MarsWater/ListTableViewController.m new file mode 100644 index 0000000..8a54322 --- /dev/null +++ b/MarsWater/MarsWater/ListTableViewController.m @@ -0,0 +1,143 @@ +// +// ListTableViewController.m +// MarsWater +// +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import "ListTableViewController.h" +#import +#import "AppDelegate.h" +#import "List.h" +#import "TasksTableViewController.h" + +@interface ListTableViewController () + +@property (nonatomic) NSFetchedResultsController *fetchedResultsController; +@end + +@implementation ListTableViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + [self fetchResults]; + +} + +- (void)fetchResults +{ + AppDelegate *delegate = [UIApplication sharedApplication].delegate; + + NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]initWithEntityName:@"List"]; + NSSortDescriptor *sort = [[NSSortDescriptor alloc] initWithKey:@"createdAt" ascending:NO]; + fetchRequest.sortDescriptors = @[sort]; + self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:delegate.managedObjectContext sectionNameKeyPath:nil cacheName:nil]; + self.fetchedResultsController.delegate = self; + [self.fetchedResultsController performFetch:nil]; + + [self.tableView reloadData]; +} + +- (void)viewWillAppear:(BOOL)animated{ + [self.tableView reloadData]; +} + +- (void)controllerWillChangeContent:(NSFetchedResultsController *)controller +{ + [self.tableView beginUpdates]; +} + +- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath +{ + + UITableView *tableView = self.tableView; + + switch (type) { + case NSFetchedResultsChangeDelete: + [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] + withRowAnimation:UITableViewRowAnimationFade]; + break; + + case NSFetchedResultsChangeInsert: + [self.tableView insertRowsAtIndexPaths:@[newIndexPath] + withRowAnimation:UITableViewRowAnimationFade]; + break; + + default: + break; + } +} + +- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller +{ + [self.tableView endUpdates]; +} + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + return self.fetchedResultsController.fetchedObjects.count; +} + + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"ListCellIdentifier" forIndexPath:indexPath]; + List *list = [self.fetchedResultsController.fetchedObjects objectAtIndex:indexPath.row]; + cell.textLabel.text = list.title; + cell.backgroundColor = [self colorwithHexString:list.color alpha:1]; + + return cell; +} + + +//Returns UIColor from hex string +- (UIColor *)colorwithHexString:(NSString *)hexStr alpha:(CGFloat)alpha; +{ + unsigned int hexint = 0; + NSScanner *scanner = [NSScanner scannerWithString:hexStr]; + [scanner setCharactersToBeSkipped:[NSCharacterSet + characterSetWithCharactersInString:@"#"]]; + [scanner scanHexInt:&hexint]; + UIColor *color = + [UIColor colorWithRed:((CGFloat) ((hexint & 0xFF0000) >> 16))/255 + green:((CGFloat) ((hexint & 0xFF00) >> 8))/255 + blue:((CGFloat) (hexint & 0xFF))/255 + alpha:alpha]; + + return color; +} + +#pragma mark - Navigation + +-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender +{ + if ([[segue identifier] isEqualToString:@"passList"]) { + + NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; + List *list = self.fetchedResultsController.fetchedObjects[indexPath.row]; + TasksTableViewController *taskTableVC = segue.destinationViewController; + taskTableVC.list = list; + } +} + +//Delete a list +- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath +{ + if (editingStyle == UITableViewCellEditingStyleDelete) { + + List *list = self.fetchedResultsController.fetchedObjects[indexPath.row]; + AppDelegate *delegate = [UIApplication sharedApplication].delegate; + [delegate.managedObjectContext deleteObject:list]; + [delegate.managedObjectContext save:nil]; + } +} + +@end diff --git a/SavingForever/SavingForever/SavingForever.xcdatamodeld/.xccurrentversion b/MarsWater/MarsWater/MarsWater.xcdatamodeld/.xccurrentversion similarity index 83% rename from SavingForever/SavingForever/SavingForever.xcdatamodeld/.xccurrentversion rename to MarsWater/MarsWater/MarsWater.xcdatamodeld/.xccurrentversion index 352ed15..5c0cbd5 100644 --- a/SavingForever/SavingForever/SavingForever.xcdatamodeld/.xccurrentversion +++ b/MarsWater/MarsWater/MarsWater.xcdatamodeld/.xccurrentversion @@ -3,6 +3,6 @@ _XCCurrentVersionName - SavingForever.xcdatamodel + MarsWater.xcdatamodel diff --git a/MarsWater/MarsWater/MarsWater.xcdatamodeld/MarsWater.xcdatamodel/contents b/MarsWater/MarsWater/MarsWater.xcdatamodeld/MarsWater.xcdatamodel/contents new file mode 100644 index 0000000..2a9c187 --- /dev/null +++ b/MarsWater/MarsWater/MarsWater.xcdatamodeld/MarsWater.xcdatamodel/contents @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MarsWater/MarsWater/NewTaskViewController.h b/MarsWater/MarsWater/NewTaskViewController.h new file mode 100644 index 0000000..8a69497 --- /dev/null +++ b/MarsWater/MarsWater/NewTaskViewController.h @@ -0,0 +1,18 @@ +// +// NewTaskViewController.h +// MarsWater +// +// Created by Henna on 10/9/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import "ViewController.h" + + +@class List; // let this view controller know that List is a valid class + +@interface NewTaskViewController : ViewController + + @property (nonatomic) List *list; + +@end diff --git a/MarsWater/MarsWater/NewTaskViewController.m b/MarsWater/MarsWater/NewTaskViewController.m new file mode 100644 index 0000000..20c3544 --- /dev/null +++ b/MarsWater/MarsWater/NewTaskViewController.m @@ -0,0 +1,66 @@ +// +// NewTaskViewController.m +// MarsWater +// +// Created by Henna on 10/9/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import "NewTaskViewController.h" +#import +#import "Task.h" +#import "AppDelegate.h" +#import "List.h" + +@interface NewTaskViewController () +@property (nonatomic) Task *task; +@property (weak, nonatomic) IBOutlet UITextField *taskName; +@end + +@implementation NewTaskViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + [self setupNavigationBar]; + + AppDelegate *delegate = [UIApplication sharedApplication].delegate; + + self.task = [NSEntityDescription insertNewObjectForEntityForName:@"Task" inManagedObjectContext:delegate.managedObjectContext]; +} + +- (void)setupNavigationBar +{ + self.navigationItem.title = @"Create To Do Item"; + self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancel)]; + self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemSave target:self action:@selector(save)]; +} + +- (void)cancel +{ + [self dismissViewControllerAnimated:YES completion:nil]; +} + + +- (void)save +{ + if (self.taskName.text.length != 0) { + + self.task.taskDescription = self.taskName.text; + self.task.createdAt = [NSDate date]; + self.task.list = self.list; + + AppDelegate *delegate = [UIApplication sharedApplication].delegate; + + [delegate.managedObjectContext save:nil]; + + [self dismissViewControllerAnimated:YES completion:nil]; + } + else{ + UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"💁" message:@"Please enter a task name" delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil]; + [alert show]; + + } + +} + +@end diff --git a/MarsWater/MarsWater/Task.h b/MarsWater/MarsWater/Task.h new file mode 100644 index 0000000..5dd3596 --- /dev/null +++ b/MarsWater/MarsWater/Task.h @@ -0,0 +1,23 @@ +// +// Task.h +// MarsWater +// +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import +#import + +@class List; + +@interface Task : NSManagedObject + +@property (nonatomic, retain) NSString * taskDescription; +@property (nonatomic, retain) NSDate * createdAt; +@property (nonatomic, retain) NSDate * doAt; +@property (nonatomic, retain) NSDate * updatedAt; +@property (nonatomic, retain) NSDate * completedAt; +@property (nonatomic, retain) List *list; + +@end diff --git a/MarsWater/MarsWater/Task.m b/MarsWater/MarsWater/Task.m new file mode 100644 index 0000000..bedf080 --- /dev/null +++ b/MarsWater/MarsWater/Task.m @@ -0,0 +1,22 @@ +// +// Task.m +// MarsWater +// +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import "Task.h" +#import "List.h" + + +@implementation Task + +@dynamic taskDescription; +@dynamic createdAt; +@dynamic doAt; +@dynamic updatedAt; +@dynamic completedAt; +@dynamic list; + +@end diff --git a/MarsWater/MarsWater/TasksTableViewController.h b/MarsWater/MarsWater/TasksTableViewController.h new file mode 100644 index 0000000..fd3f3d4 --- /dev/null +++ b/MarsWater/MarsWater/TasksTableViewController.h @@ -0,0 +1,19 @@ +// +// TasksTableViewController.h +// MarsWater +// +// Created by Henna on 10/9/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import +#import "Task.h" +#import "ListTableViewController.h" +#import "AppDelegate.h" +#import "List.h" + +@interface TasksTableViewController : UITableViewController +@property (nonatomic) Task *task; +@property (nonatomic) List *list; + +@end diff --git a/MarsWater/MarsWater/TasksTableViewController.m b/MarsWater/MarsWater/TasksTableViewController.m new file mode 100644 index 0000000..e21c970 --- /dev/null +++ b/MarsWater/MarsWater/TasksTableViewController.m @@ -0,0 +1,95 @@ +// +// TasksTableViewController.m +// MarsWater +// +// Created by Henna on 10/9/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import "TasksTableViewController.h" +#import +#import "NewTaskViewController.h" + +@interface TasksTableViewController () + @property (nonatomic) NSFetchedResultsController *fetchedResultsController; +@end + +@implementation TasksTableViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + [self setupNavigationBar]; + [self fetchResults]; +} + +-(void)setupNavigationBar +{ + self.navigationItem.title = self.list.title; + + self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancel)]; + + self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(createNewTask)]; +} + +- (void)cancel +{ + [self.navigationController popToRootViewControllerAnimated:YES]; +} + +- (void)createNewTask +{ + UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; + + NewTaskViewController *newTaskVC = [storyboard instantiateViewControllerWithIdentifier:@"NewTaskVCIdentifier"]; + newTaskVC.list = self.list; + + UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:newTaskVC]; + + [self presentViewController:navigationController animated:YES completion:nil]; +} + +- (void)fetchResults +{ + AppDelegate *delegate = [UIApplication sharedApplication].delegate; + + NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Task"]; + + NSSortDescriptor *sort = [[NSSortDescriptor alloc]initWithKey:@"createdAt" ascending:NO]; + + fetchRequest.sortDescriptors = @[sort]; + fetchRequest.predicate = [NSPredicate predicateWithFormat:@"list.title == %@", self.list.title]; + self.fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:delegate.managedObjectContext sectionNameKeyPath:nil cacheName:nil]; + self.fetchedResultsController.delegate = self; + [self.fetchedResultsController performFetch:nil]; + + [self.tableView reloadData]; +} + + +#pragma mark - Table view data source + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { + return 1; +} + +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { + return self.fetchedResultsController.fetchedObjects.count; +} + + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"taskCellIdentifier" forIndexPath:indexPath]; + + Task *task = self.fetchedResultsController.fetchedObjects[indexPath.row]; + cell.textLabel.text = task.taskDescription; + + return cell; +} + +- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath // this method reloads table after item is added +{ + [self.tableView reloadData]; +} + + +@end diff --git a/MarsWater/MarsWater/ViewController.h b/MarsWater/MarsWater/ViewController.h new file mode 100644 index 0000000..519df5c --- /dev/null +++ b/MarsWater/MarsWater/ViewController.h @@ -0,0 +1,15 @@ +// +// ViewController.h +// MarsWater +// +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import + +@interface ViewController : UIViewController + + +@end + diff --git a/SavingForever/SavingForever/ViewController.m b/MarsWater/MarsWater/ViewController.m similarity index 75% rename from SavingForever/SavingForever/ViewController.m rename to MarsWater/MarsWater/ViewController.m index 5f1f663..ab8e40c 100644 --- a/SavingForever/SavingForever/ViewController.m +++ b/MarsWater/MarsWater/ViewController.m @@ -1,9 +1,9 @@ // // ViewController.m -// SavingForever +// MarsWater // -// Created by Michael Kavouras on 10/4/15. -// Copyright © 2015 Michael Kavouras. All rights reserved. +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. // #import "ViewController.h" diff --git a/SavingForever/SavingForever/main.m b/MarsWater/MarsWater/main.m similarity index 64% rename from SavingForever/SavingForever/main.m rename to MarsWater/MarsWater/main.m index 0d1314d..1110618 100644 --- a/SavingForever/SavingForever/main.m +++ b/MarsWater/MarsWater/main.m @@ -1,9 +1,9 @@ // // main.m -// SavingForever +// MarsWater // -// Created by Michael Kavouras on 10/4/15. -// Copyright © 2015 Michael Kavouras. All rights reserved. +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. // #import diff --git a/MarsWater/MarsWaterTests/Info.plist b/MarsWater/MarsWaterTests/Info.plist new file mode 100644 index 0000000..d03d7a9 --- /dev/null +++ b/MarsWater/MarsWaterTests/Info.plist @@ -0,0 +1,24 @@ + + + + + CFBundleDevelopmentRegion + en + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + nyc.c4q.xhenna92.$(PRODUCT_NAME:rfc1034identifier) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + BNDL + CFBundleShortVersionString + 1.0 + CFBundleSignature + ???? + CFBundleVersion + 1 + + diff --git a/MarsWater/MarsWaterTests/MarsWaterTests.m b/MarsWater/MarsWaterTests/MarsWaterTests.m new file mode 100644 index 0000000..ae37e58 --- /dev/null +++ b/MarsWater/MarsWaterTests/MarsWaterTests.m @@ -0,0 +1,40 @@ +// +// MarsWaterTests.m +// MarsWaterTests +// +// Created by Henna on 10/4/15. +// Copyright (c) 2015 Henna. All rights reserved. +// + +#import +#import + +@interface MarsWaterTests : XCTestCase + +@end + +@implementation MarsWaterTests + +- (void)setUp { + [super setUp]; + // Put setup code here. This method is called before the invocation of each test method in the class. +} + +- (void)tearDown { + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} + +- (void)testExample { + // This is an example of a functional test case. + XCTAssert(YES, @"Pass"); +} + +- (void)testPerformanceExample { + // This is an example of a performance test case. + [self measureBlock:^{ + // Put the code you want to measure the time of here. + }]; +} + +@end diff --git a/SavingForever/SavingForever.xcodeproj/project.pbxproj b/SavingForever/SavingForever.xcodeproj/project.pbxproj deleted file mode 100644 index cbf89e2..0000000 --- a/SavingForever/SavingForever.xcodeproj/project.pbxproj +++ /dev/null @@ -1,322 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 8D2949671BC1D06E00FDC81F /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D2949661BC1D06E00FDC81F /* main.m */; }; - 8D29496A1BC1D06E00FDC81F /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D2949691BC1D06E00FDC81F /* AppDelegate.m */; }; - 8D29496D1BC1D06E00FDC81F /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 8D29496C1BC1D06E00FDC81F /* ViewController.m */; }; - 8D2949701BC1D06E00FDC81F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8D29496E1BC1D06E00FDC81F /* Main.storyboard */; }; - 8D2949731BC1D06E00FDC81F /* SavingForever.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 8D2949711BC1D06E00FDC81F /* SavingForever.xcdatamodeld */; }; - 8D2949751BC1D06E00FDC81F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8D2949741BC1D06E00FDC81F /* Assets.xcassets */; }; - 8D2949781BC1D06E00FDC81F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8D2949761BC1D06E00FDC81F /* LaunchScreen.storyboard */; }; -/* End PBXBuildFile section */ - -/* Begin PBXFileReference section */ - 8D2949621BC1D06E00FDC81F /* SavingForever.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SavingForever.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 8D2949661BC1D06E00FDC81F /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; - 8D2949681BC1D06E00FDC81F /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; }; - 8D2949691BC1D06E00FDC81F /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; }; - 8D29496B1BC1D06E00FDC81F /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = ""; }; - 8D29496C1BC1D06E00FDC81F /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = ""; }; - 8D29496F1BC1D06E00FDC81F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; - 8D2949721BC1D06E00FDC81F /* SavingForever.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = SavingForever.xcdatamodel; sourceTree = ""; }; - 8D2949741BC1D06E00FDC81F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - 8D2949771BC1D06E00FDC81F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 8D2949791BC1D06E00FDC81F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - 8D29495F1BC1D06E00FDC81F /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 8D2949591BC1D06D00FDC81F = { - isa = PBXGroup; - children = ( - 8D2949641BC1D06E00FDC81F /* SavingForever */, - 8D2949631BC1D06E00FDC81F /* Products */, - ); - sourceTree = ""; - }; - 8D2949631BC1D06E00FDC81F /* Products */ = { - isa = PBXGroup; - children = ( - 8D2949621BC1D06E00FDC81F /* SavingForever.app */, - ); - name = Products; - sourceTree = ""; - }; - 8D2949641BC1D06E00FDC81F /* SavingForever */ = { - isa = PBXGroup; - children = ( - 8D2949681BC1D06E00FDC81F /* AppDelegate.h */, - 8D2949691BC1D06E00FDC81F /* AppDelegate.m */, - 8D29496B1BC1D06E00FDC81F /* ViewController.h */, - 8D29496C1BC1D06E00FDC81F /* ViewController.m */, - 8D29496E1BC1D06E00FDC81F /* Main.storyboard */, - 8D2949741BC1D06E00FDC81F /* Assets.xcassets */, - 8D2949761BC1D06E00FDC81F /* LaunchScreen.storyboard */, - 8D2949791BC1D06E00FDC81F /* Info.plist */, - 8D2949711BC1D06E00FDC81F /* SavingForever.xcdatamodeld */, - 8D2949651BC1D06E00FDC81F /* Supporting Files */, - ); - path = SavingForever; - sourceTree = ""; - }; - 8D2949651BC1D06E00FDC81F /* Supporting Files */ = { - isa = PBXGroup; - children = ( - 8D2949661BC1D06E00FDC81F /* main.m */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXNativeTarget section */ - 8D2949611BC1D06E00FDC81F /* SavingForever */ = { - isa = PBXNativeTarget; - buildConfigurationList = 8D29497C1BC1D06E00FDC81F /* Build configuration list for PBXNativeTarget "SavingForever" */; - buildPhases = ( - 8D29495E1BC1D06E00FDC81F /* Sources */, - 8D29495F1BC1D06E00FDC81F /* Frameworks */, - 8D2949601BC1D06E00FDC81F /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SavingForever; - productName = SavingForever; - productReference = 8D2949621BC1D06E00FDC81F /* SavingForever.app */; - productType = "com.apple.product-type.application"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - 8D29495A1BC1D06D00FDC81F /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0700; - ORGANIZATIONNAME = "Michael Kavouras"; - TargetAttributes = { - 8D2949611BC1D06E00FDC81F = { - CreatedOnToolsVersion = 7.0.1; - }; - }; - }; - buildConfigurationList = 8D29495D1BC1D06D00FDC81F /* Build configuration list for PBXProject "SavingForever" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = 8D2949591BC1D06D00FDC81F; - productRefGroup = 8D2949631BC1D06E00FDC81F /* Products */; - projectDirPath = ""; - projectRoot = ""; - targets = ( - 8D2949611BC1D06E00FDC81F /* SavingForever */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXResourcesBuildPhase section */ - 8D2949601BC1D06E00FDC81F /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D2949781BC1D06E00FDC81F /* LaunchScreen.storyboard in Resources */, - 8D2949751BC1D06E00FDC81F /* Assets.xcassets in Resources */, - 8D2949701BC1D06E00FDC81F /* Main.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - 8D29495E1BC1D06E00FDC81F /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 8D29496D1BC1D06E00FDC81F /* ViewController.m in Sources */, - 8D29496A1BC1D06E00FDC81F /* AppDelegate.m in Sources */, - 8D2949671BC1D06E00FDC81F /* main.m in Sources */, - 8D2949731BC1D06E00FDC81F /* SavingForever.xcdatamodeld in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXVariantGroup section */ - 8D29496E1BC1D06E00FDC81F /* Main.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 8D29496F1BC1D06E00FDC81F /* Base */, - ); - name = Main.storyboard; - sourceTree = ""; - }; - 8D2949761BC1D06E00FDC81F /* LaunchScreen.storyboard */ = { - isa = PBXVariantGroup; - children = ( - 8D2949771BC1D06E00FDC81F /* Base */, - ); - name = LaunchScreen.storyboard; - sourceTree = ""; - }; -/* End PBXVariantGroup section */ - -/* Begin XCBuildConfiguration section */ - 8D29497A1BC1D06E00FDC81F /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = dwarf; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - 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 = 9.0; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - 8D29497B1BC1D06E00FDC81F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "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 = gnu99; - 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 = 9.0; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - 8D29497D1BC1D06E00FDC81F /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - INFOPLIST_FILE = SavingForever/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.mikekavouras.SavingForever; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Debug; - }; - 8D29497E1BC1D06E00FDC81F /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - INFOPLIST_FILE = SavingForever/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.mikekavouras.SavingForever; - PRODUCT_NAME = "$(TARGET_NAME)"; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 8D29495D1BC1D06D00FDC81F /* Build configuration list for PBXProject "SavingForever" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D29497A1BC1D06E00FDC81F /* Debug */, - 8D29497B1BC1D06E00FDC81F /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - 8D29497C1BC1D06E00FDC81F /* Build configuration list for PBXNativeTarget "SavingForever" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 8D29497D1BC1D06E00FDC81F /* Debug */, - 8D29497E1BC1D06E00FDC81F /* Release */, - ); - defaultConfigurationIsVisible = 0; - }; -/* End XCConfigurationList section */ - -/* Begin XCVersionGroup section */ - 8D2949711BC1D06E00FDC81F /* SavingForever.xcdatamodeld */ = { - isa = XCVersionGroup; - children = ( - 8D2949721BC1D06E00FDC81F /* SavingForever.xcdatamodel */, - ); - currentVersion = 8D2949721BC1D06E00FDC81F /* SavingForever.xcdatamodel */; - path = SavingForever.xcdatamodeld; - sourceTree = ""; - versionGroupType = wrapper.xcdatamodel; - }; -/* End XCVersionGroup section */ - }; - rootObject = 8D29495A1BC1D06D00FDC81F /* Project object */; -} diff --git a/SavingForever/SavingForever/Base.lproj/LaunchScreen.storyboard b/SavingForever/SavingForever/Base.lproj/LaunchScreen.storyboard deleted file mode 100644 index 2e721e1..0000000 --- a/SavingForever/SavingForever/Base.lproj/LaunchScreen.storyboard +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SavingForever/SavingForever/Base.lproj/Main.storyboard b/SavingForever/SavingForever/Base.lproj/Main.storyboard deleted file mode 100644 index f56d2f3..0000000 --- a/SavingForever/SavingForever/Base.lproj/Main.storyboard +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/SavingForever/SavingForever/SavingForever.xcdatamodeld/SavingForever.xcdatamodel/contents b/SavingForever/SavingForever/SavingForever.xcdatamodeld/SavingForever.xcdatamodel/contents deleted file mode 100644 index 193f33c..0000000 --- a/SavingForever/SavingForever/SavingForever.xcdatamodeld/SavingForever.xcdatamodel/contents +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/SavingForever/SavingForever/ViewController.h b/SavingForever/SavingForever/ViewController.h deleted file mode 100644 index b193f94..0000000 --- a/SavingForever/SavingForever/ViewController.h +++ /dev/null @@ -1,15 +0,0 @@ -// -// ViewController.h -// SavingForever -// -// Created by Michael Kavouras on 10/4/15. -// Copyright © 2015 Michael Kavouras. All rights reserved. -// - -#import - -@interface ViewController : UIViewController - - -@end -