Completion of Initial App

Task Master 1.0 for iOS completed with some features unavailable.
This commit is contained in:
Alexander Davis
2016-12-12 01:08:23 +00:00
parent 929504617c
commit dd1570f9b6
30 changed files with 533 additions and 271 deletions

Binary file not shown.

BIN
S14110259 Task Master.zip Normal file

Binary file not shown.

View File

@@ -7,48 +7,54 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
5F26CD831DDDDAF6008452B2 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F26CD821DDDDAF6008452B2 /* AppDelegate.swift */; }; 5F05B7221DFE210A0095C03B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F05B7211DFE210A0095C03B /* AppDelegate.swift */; };
5F26CD851DDDDAF6008452B2 /* FirstViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F26CD841DDDDAF6008452B2 /* FirstViewController.swift */; }; 5F05B7261DFE210A0095C03B /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F05B7251DFE210A0095C03B /* SecondViewController.swift */; };
5F26CD871DDDDAF6008452B2 /* SecondViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F26CD861DDDDAF6008452B2 /* SecondViewController.swift */; }; 5F05B7291DFE210A0095C03B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F05B7271DFE210A0095C03B /* Main.storyboard */; };
5F26CD8A1DDDDAF6008452B2 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F26CD881DDDDAF6008452B2 /* Main.storyboard */; }; 5F05B72B1DFE210A0095C03B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5F05B72A1DFE210A0095C03B /* Assets.xcassets */; };
5F26CD8C1DDDDAF6008452B2 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5F26CD8B1DDDDAF6008452B2 /* Assets.xcassets */; }; 5F05B7391DFE210A0095C03B /* Task_MasterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F05B7381DFE210A0095C03B /* Task_MasterTests.swift */; };
5F26CD8F1DDDDAF6008452B2 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F26CD8D1DDDDAF6008452B2 /* LaunchScreen.storyboard */; }; 5F05B7441DFE21290095C03B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5F05B7431DFE21290095C03B /* LaunchScreen.storyboard */; };
5F26CD9A1DDDDAF6008452B2 /* Task_MasterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F26CD991DDDDAF6008452B2 /* Task_MasterTests.swift */; }; 5F8812851DFE25F60041BEAB /* TaskMaster.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F8812841DFE25F60041BEAB /* TaskMaster.swift */; };
5F8812871DFE26520041BEAB /* FirstViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5F8812861DFE26520041BEAB /* FirstViewController.swift */; };
5F88128B1DFE27BA0041BEAB /* MapKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5F88128A1DFE27BA0041BEAB /* MapKit.framework */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
5F26CD961DDDDAF6008452B2 /* PBXContainerItemProxy */ = { 5F05B7351DFE210A0095C03B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy; isa = PBXContainerItemProxy;
containerPortal = 5F26CD771DDDDAF6008452B2 /* Project object */; containerPortal = 5F05B7161DFE210A0095C03B /* Project object */;
proxyType = 1; proxyType = 1;
remoteGlobalIDString = 5F26CD7E1DDDDAF6008452B2; remoteGlobalIDString = 5F05B71D1DFE210A0095C03B;
remoteInfo = "Task Master"; remoteInfo = "Task Master";
}; };
/* End PBXContainerItemProxy section */ /* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
5F26CD7F1DDDDAF6008452B2 /* Task Master.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Task Master.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 5F05B71E1DFE210A0095C03B /* Task Master.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Task Master.app"; sourceTree = BUILT_PRODUCTS_DIR; };
5F26CD821DDDDAF6008452B2 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 5F05B7211DFE210A0095C03B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
5F26CD841DDDDAF6008452B2 /* FirstViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FirstViewController.swift; sourceTree = "<group>"; }; 5F05B7251DFE210A0095C03B /* SecondViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondViewController.swift; sourceTree = "<group>"; };
5F26CD861DDDDAF6008452B2 /* SecondViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SecondViewController.swift; sourceTree = "<group>"; }; 5F05B7281DFE210A0095C03B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
5F26CD891DDDDAF6008452B2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; 5F05B72A1DFE210A0095C03B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
5F26CD8B1DDDDAF6008452B2 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; 5F05B72F1DFE210A0095C03B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
5F26CD8E1DDDDAF6008452B2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; 5F05B7341DFE210A0095C03B /* Task MasterTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Task MasterTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
5F26CD901DDDDAF6008452B2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 5F05B7381DFE210A0095C03B /* Task_MasterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Task_MasterTests.swift; sourceTree = "<group>"; };
5F26CD951DDDDAF6008452B2 /* Task MasterTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "Task MasterTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 5F05B73A1DFE210A0095C03B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
5F26CD991DDDDAF6008452B2 /* Task_MasterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Task_MasterTests.swift; sourceTree = "<group>"; }; 5F05B7431DFE21290095C03B /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = "<group>"; };
5F26CD9B1DDDDAF6008452B2 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 5F8812841DFE25F60041BEAB /* TaskMaster.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TaskMaster.swift; sourceTree = "<group>"; };
5F8812861DFE26520041BEAB /* FirstViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FirstViewController.swift; sourceTree = "<group>"; };
5F8812881DFE27970041BEAB /* Task Master.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "Task Master.entitlements"; sourceTree = "<group>"; };
5F88128A1DFE27BA0041BEAB /* MapKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MapKit.framework; path = System/Library/Frameworks/MapKit.framework; sourceTree = SDKROOT; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
5F26CD7C1DDDDAF6008452B2 /* Frameworks */ = { 5F05B71B1DFE210A0095C03B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
5F88128B1DFE27BA0041BEAB /* MapKit.framework in Frameworks */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
5F26CD921DDDDAF6008452B2 /* Frameworks */ = { 5F05B7311DFE210A0095C03B /* Frameworks */ = {
isa = PBXFrameworksBuildPhase; isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
@@ -58,57 +64,68 @@
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
5F26CD761DDDDAF6008452B2 = { 5F05B7151DFE210A0095C03B = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
5F26CD811DDDDAF6008452B2 /* Task Master */, 5F05B7201DFE210A0095C03B /* Task Master */,
5F26CD981DDDDAF6008452B2 /* Task MasterTests */, 5F05B7371DFE210A0095C03B /* Task MasterTests */,
5F26CD801DDDDAF6008452B2 /* Products */, 5F05B71F1DFE210A0095C03B /* Products */,
5F8812891DFE27BA0041BEAB /* Frameworks */,
); );
sourceTree = "<group>"; sourceTree = "<group>";
}; };
5F26CD801DDDDAF6008452B2 /* Products */ = { 5F05B71F1DFE210A0095C03B /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
5F26CD7F1DDDDAF6008452B2 /* Task Master.app */, 5F05B71E1DFE210A0095C03B /* Task Master.app */,
5F26CD951DDDDAF6008452B2 /* Task MasterTests.xctest */, 5F05B7341DFE210A0095C03B /* Task MasterTests.xctest */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
5F26CD811DDDDAF6008452B2 /* Task Master */ = { 5F05B7201DFE210A0095C03B /* Task Master */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
5F26CD821DDDDAF6008452B2 /* AppDelegate.swift */, 5F8812881DFE27970041BEAB /* Task Master.entitlements */,
5F26CD841DDDDAF6008452B2 /* FirstViewController.swift */, 5F8812861DFE26520041BEAB /* FirstViewController.swift */,
5F26CD861DDDDAF6008452B2 /* SecondViewController.swift */, 5F8812841DFE25F60041BEAB /* TaskMaster.swift */,
5F26CD881DDDDAF6008452B2 /* Main.storyboard */, 5F05B7211DFE210A0095C03B /* AppDelegate.swift */,
5F26CD8B1DDDDAF6008452B2 /* Assets.xcassets */, 5F05B7251DFE210A0095C03B /* SecondViewController.swift */,
5F26CD8D1DDDDAF6008452B2 /* LaunchScreen.storyboard */, 5F05B7271DFE210A0095C03B /* Main.storyboard */,
5F26CD901DDDDAF6008452B2 /* Info.plist */, 5F05B7431DFE21290095C03B /* LaunchScreen.storyboard */,
5F05B72A1DFE210A0095C03B /* Assets.xcassets */,
5F05B72F1DFE210A0095C03B /* Info.plist */,
); );
path = "Task Master"; path = "Task Master";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
5F26CD981DDDDAF6008452B2 /* Task MasterTests */ = { 5F05B7371DFE210A0095C03B /* Task MasterTests */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
5F26CD991DDDDAF6008452B2 /* Task_MasterTests.swift */, 5F05B7381DFE210A0095C03B /* Task_MasterTests.swift */,
5F26CD9B1DDDDAF6008452B2 /* Info.plist */, 5F05B73A1DFE210A0095C03B /* Info.plist */,
); );
path = "Task MasterTests"; path = "Task MasterTests";
sourceTree = "<group>"; sourceTree = "<group>";
}; };
5F8812891DFE27BA0041BEAB /* Frameworks */ = {
isa = PBXGroup;
children = (
5F88128A1DFE27BA0041BEAB /* MapKit.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */ /* End PBXGroup section */
/* Begin PBXNativeTarget section */ /* Begin PBXNativeTarget section */
5F26CD7E1DDDDAF6008452B2 /* Task Master */ = { 5F05B71D1DFE210A0095C03B /* Task Master */ = {
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 5F26CD9E1DDDDAF6008452B2 /* Build configuration list for PBXNativeTarget "Task Master" */; buildConfigurationList = 5F05B73D1DFE210A0095C03B /* Build configuration list for PBXNativeTarget "Task Master" */;
buildPhases = ( buildPhases = (
5F26CD7B1DDDDAF6008452B2 /* Sources */, 5F05B71A1DFE210A0095C03B /* Sources */,
5F26CD7C1DDDDAF6008452B2 /* Frameworks */, 5F05B71B1DFE210A0095C03B /* Frameworks */,
5F26CD7D1DDDDAF6008452B2 /* Resources */, 5F05B71C1DFE210A0095C03B /* Resources */,
); );
buildRules = ( buildRules = (
); );
@@ -116,51 +133,68 @@
); );
name = "Task Master"; name = "Task Master";
productName = "Task Master"; productName = "Task Master";
productReference = 5F26CD7F1DDDDAF6008452B2 /* Task Master.app */; productReference = 5F05B71E1DFE210A0095C03B /* Task Master.app */;
productType = "com.apple.product-type.application"; productType = "com.apple.product-type.application";
}; };
5F26CD941DDDDAF6008452B2 /* Task MasterTests */ = { 5F05B7331DFE210A0095C03B /* Task MasterTests */ = {
isa = PBXNativeTarget; isa = PBXNativeTarget;
buildConfigurationList = 5F26CDA11DDDDAF6008452B2 /* Build configuration list for PBXNativeTarget "Task MasterTests" */; buildConfigurationList = 5F05B7401DFE210A0095C03B /* Build configuration list for PBXNativeTarget "Task MasterTests" */;
buildPhases = ( buildPhases = (
5F26CD911DDDDAF6008452B2 /* Sources */, 5F05B7301DFE210A0095C03B /* Sources */,
5F26CD921DDDDAF6008452B2 /* Frameworks */, 5F05B7311DFE210A0095C03B /* Frameworks */,
5F26CD931DDDDAF6008452B2 /* Resources */, 5F05B7321DFE210A0095C03B /* Resources */,
); );
buildRules = ( buildRules = (
); );
dependencies = ( dependencies = (
5F26CD971DDDDAF6008452B2 /* PBXTargetDependency */, 5F05B7361DFE210A0095C03B /* PBXTargetDependency */,
); );
name = "Task MasterTests"; name = "Task MasterTests";
productName = "Task MasterTests"; productName = "Task MasterTests";
productReference = 5F26CD951DDDDAF6008452B2 /* Task MasterTests.xctest */; productReference = 5F05B7341DFE210A0095C03B /* Task MasterTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test"; productType = "com.apple.product-type.bundle.unit-test";
}; };
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
/* Begin PBXProject section */ /* Begin PBXProject section */
5F26CD771DDDDAF6008452B2 /* Project object */ = { 5F05B7161DFE210A0095C03B /* Project object */ = {
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastSwiftUpdateCheck = 0810; LastSwiftUpdateCheck = 0810;
LastUpgradeCheck = 0810; LastUpgradeCheck = 0810;
ORGANIZATIONNAME = "Alexander Davis Computing and Media"; ORGANIZATIONNAME = "Alexander Davis Computing and Media";
TargetAttributes = { TargetAttributes = {
5F26CD7E1DDDDAF6008452B2 = { 5F05B71D1DFE210A0095C03B = {
CreatedOnToolsVersion = 8.1; CreatedOnToolsVersion = 8.1;
DevelopmentTeam = 28CC8SCVUN; DevelopmentTeam = 28CC8SCVUN;
ProvisioningStyle = Automatic; ProvisioningStyle = Automatic;
SystemCapabilities = {
com.apple.BackgroundModes = {
enabled = 1;
}; };
5F26CD941DDDDAF6008452B2 = { com.apple.DataProtection = {
enabled = 1;
};
com.apple.Maps.iOS = {
enabled = 1;
};
com.apple.Push = {
enabled = 1;
};
com.apple.Siri = {
enabled = 1;
};
};
};
5F05B7331DFE210A0095C03B = {
CreatedOnToolsVersion = 8.1; CreatedOnToolsVersion = 8.1;
DevelopmentTeam = 28CC8SCVUN; DevelopmentTeam = 28CC8SCVUN;
ProvisioningStyle = Automatic; ProvisioningStyle = Automatic;
TestTargetID = 5F26CD7E1DDDDAF6008452B2; TestTargetID = 5F05B71D1DFE210A0095C03B;
}; };
}; };
}; };
buildConfigurationList = 5F26CD7A1DDDDAF6008452B2 /* Build configuration list for PBXProject "Task Master" */; buildConfigurationList = 5F05B7191DFE210A0095C03B /* Build configuration list for PBXProject "Task Master" */;
compatibilityVersion = "Xcode 3.2"; compatibilityVersion = "Xcode 3.2";
developmentRegion = English; developmentRegion = English;
hasScannedForEncodings = 0; hasScannedForEncodings = 0;
@@ -168,29 +202,29 @@
en, en,
Base, Base,
); );
mainGroup = 5F26CD761DDDDAF6008452B2; mainGroup = 5F05B7151DFE210A0095C03B;
productRefGroup = 5F26CD801DDDDAF6008452B2 /* Products */; productRefGroup = 5F05B71F1DFE210A0095C03B /* Products */;
projectDirPath = ""; projectDirPath = "";
projectRoot = ""; projectRoot = "";
targets = ( targets = (
5F26CD7E1DDDDAF6008452B2 /* Task Master */, 5F05B71D1DFE210A0095C03B /* Task Master */,
5F26CD941DDDDAF6008452B2 /* Task MasterTests */, 5F05B7331DFE210A0095C03B /* Task MasterTests */,
); );
}; };
/* End PBXProject section */ /* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */ /* Begin PBXResourcesBuildPhase section */
5F26CD7D1DDDDAF6008452B2 /* Resources */ = { 5F05B71C1DFE210A0095C03B /* Resources */ = {
isa = PBXResourcesBuildPhase; isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
5F26CD8F1DDDDAF6008452B2 /* LaunchScreen.storyboard in Resources */, 5F05B7441DFE21290095C03B /* LaunchScreen.storyboard in Resources */,
5F26CD8C1DDDDAF6008452B2 /* Assets.xcassets in Resources */, 5F05B72B1DFE210A0095C03B /* Assets.xcassets in Resources */,
5F26CD8A1DDDDAF6008452B2 /* Main.storyboard in Resources */, 5F05B7291DFE210A0095C03B /* Main.storyboard in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
5F26CD931DDDDAF6008452B2 /* Resources */ = { 5F05B7321DFE210A0095C03B /* Resources */ = {
isa = PBXResourcesBuildPhase; isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
@@ -200,55 +234,48 @@
/* End PBXResourcesBuildPhase section */ /* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */
5F26CD7B1DDDDAF6008452B2 /* Sources */ = { 5F05B71A1DFE210A0095C03B /* Sources */ = {
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
5F26CD871DDDDAF6008452B2 /* SecondViewController.swift in Sources */, 5F05B7261DFE210A0095C03B /* SecondViewController.swift in Sources */,
5F26CD831DDDDAF6008452B2 /* AppDelegate.swift in Sources */, 5F05B7221DFE210A0095C03B /* AppDelegate.swift in Sources */,
5F26CD851DDDDAF6008452B2 /* FirstViewController.swift in Sources */, 5F8812851DFE25F60041BEAB /* TaskMaster.swift in Sources */,
5F8812871DFE26520041BEAB /* FirstViewController.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
5F26CD911DDDDAF6008452B2 /* Sources */ = { 5F05B7301DFE210A0095C03B /* Sources */ = {
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
5F26CD9A1DDDDAF6008452B2 /* Task_MasterTests.swift in Sources */, 5F05B7391DFE210A0095C03B /* Task_MasterTests.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
/* End PBXSourcesBuildPhase section */ /* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */ /* Begin PBXTargetDependency section */
5F26CD971DDDDAF6008452B2 /* PBXTargetDependency */ = { 5F05B7361DFE210A0095C03B /* PBXTargetDependency */ = {
isa = PBXTargetDependency; isa = PBXTargetDependency;
target = 5F26CD7E1DDDDAF6008452B2 /* Task Master */; target = 5F05B71D1DFE210A0095C03B /* Task Master */;
targetProxy = 5F26CD961DDDDAF6008452B2 /* PBXContainerItemProxy */; targetProxy = 5F05B7351DFE210A0095C03B /* PBXContainerItemProxy */;
}; };
/* End PBXTargetDependency section */ /* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */ /* Begin PBXVariantGroup section */
5F26CD881DDDDAF6008452B2 /* Main.storyboard */ = { 5F05B7271DFE210A0095C03B /* Main.storyboard */ = {
isa = PBXVariantGroup; isa = PBXVariantGroup;
children = ( children = (
5F26CD891DDDDAF6008452B2 /* Base */, 5F05B7281DFE210A0095C03B /* Base */,
); );
name = Main.storyboard; name = Main.storyboard;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
5F26CD8D1DDDDAF6008452B2 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
5F26CD8E1DDDDAF6008452B2 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */ /* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */ /* Begin XCBuildConfiguration section */
5F26CD9C1DDDDAF6008452B2 /* Debug */ = { 5F05B73B1DFE210A0095C03B /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
@@ -297,7 +324,7 @@
}; };
name = Debug; name = Debug;
}; };
5F26CD9D1DDDDAF6008452B2 /* Release */ = { 5F05B73C1DFE210A0095C03B /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
@@ -339,10 +366,11 @@
}; };
name = Release; name = Release;
}; };
5F26CD9F1DDDDAF6008452B2 /* Debug */ = { 5F05B73E1DFE210A0095C03B /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = "Task Master/Task Master.entitlements";
DEVELOPMENT_TEAM = 28CC8SCVUN; DEVELOPMENT_TEAM = 28CC8SCVUN;
INFOPLIST_FILE = "Task Master/Info.plist"; INFOPLIST_FILE = "Task Master/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -352,10 +380,11 @@
}; };
name = Debug; name = Debug;
}; };
5F26CDA01DDDDAF6008452B2 /* Release */ = { 5F05B73F1DFE210A0095C03B /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = "Task Master/Task Master.entitlements";
DEVELOPMENT_TEAM = 28CC8SCVUN; DEVELOPMENT_TEAM = 28CC8SCVUN;
INFOPLIST_FILE = "Task Master/Info.plist"; INFOPLIST_FILE = "Task Master/Info.plist";
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
@@ -365,7 +394,7 @@
}; };
name = Release; name = Release;
}; };
5F26CDA21DDDDAF6008452B2 /* Debug */ = { 5F05B7411DFE210A0095C03B /* Debug */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
@@ -380,7 +409,7 @@
}; };
name = Debug; name = Debug;
}; };
5F26CDA31DDDDAF6008452B2 /* Release */ = { 5F05B7421DFE210A0095C03B /* Release */ = {
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
@@ -398,32 +427,34 @@
/* End XCBuildConfiguration section */ /* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */ /* Begin XCConfigurationList section */
5F26CD7A1DDDDAF6008452B2 /* Build configuration list for PBXProject "Task Master" */ = { 5F05B7191DFE210A0095C03B /* Build configuration list for PBXProject "Task Master" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
5F26CD9C1DDDDAF6008452B2 /* Debug */, 5F05B73B1DFE210A0095C03B /* Debug */,
5F26CD9D1DDDDAF6008452B2 /* Release */, 5F05B73C1DFE210A0095C03B /* Release */,
); );
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release; defaultConfigurationName = Release;
}; };
5F26CD9E1DDDDAF6008452B2 /* Build configuration list for PBXNativeTarget "Task Master" */ = { 5F05B73D1DFE210A0095C03B /* Build configuration list for PBXNativeTarget "Task Master" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
5F26CD9F1DDDDAF6008452B2 /* Debug */, 5F05B73E1DFE210A0095C03B /* Debug */,
5F26CDA01DDDDAF6008452B2 /* Release */, 5F05B73F1DFE210A0095C03B /* Release */,
); );
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
}; };
5F26CDA11DDDDAF6008452B2 /* Build configuration list for PBXNativeTarget "Task MasterTests" */ = { 5F05B7401DFE210A0095C03B /* Build configuration list for PBXNativeTarget "Task MasterTests" */ = {
isa = XCConfigurationList; isa = XCConfigurationList;
buildConfigurations = ( buildConfigurations = (
5F26CDA21DDDDAF6008452B2 /* Debug */, 5F05B7411DFE210A0095C03B /* Debug */,
5F26CDA31DDDDAF6008452B2 /* Release */, 5F05B7421DFE210A0095C03B /* Release */,
); );
defaultConfigurationIsVisible = 0; defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
}; };
/* End XCConfigurationList section */ /* End XCConfigurationList section */
}; };
rootObject = 5F26CD771DDDDAF6008452B2 /* Project object */; rootObject = 5F05B7161DFE210A0095C03B /* Project object */;
} }

View File

@@ -0,0 +1,71 @@
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
type = "1"
version = "2.0">
<Breakpoints>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Task Master/FirstViewController.swift"
timestampString = "503194851.913249"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "32"
endingLineNumber = "32"
landmarkName = "tableView(_:numberOfRowsInSection:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Task Master/SecondViewController.swift"
timestampString = "503196949.066494"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "56"
endingLineNumber = "56"
landmarkName = "btnLocaionOffline(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Task Master/SecondViewController.swift"
timestampString = "503196954.924628"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "55"
endingLineNumber = "55"
landmarkName = "btnLocaionOffline(_:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Task Master/TaskCompletion.swift"
timestampString = "503197428.18199"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "17"
endingLineNumber = "17"
landmarkName = "StrikeThroughText"
landmarkType = "3">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

View File

@@ -14,7 +14,7 @@
buildForAnalyzing = "YES"> buildForAnalyzing = "YES">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "5F26CD7E1DDDDAF6008452B2" BlueprintIdentifier = "5F05B71D1DFE210A0095C03B"
BuildableName = "Task Master.app" BuildableName = "Task Master.app"
BlueprintName = "Task Master" BlueprintName = "Task Master"
ReferencedContainer = "container:Task Master.xcodeproj"> ReferencedContainer = "container:Task Master.xcodeproj">
@@ -32,7 +32,7 @@
skipped = "NO"> skipped = "NO">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "5F26CD941DDDDAF6008452B2" BlueprintIdentifier = "5F05B7331DFE210A0095C03B"
BuildableName = "Task MasterTests.xctest" BuildableName = "Task MasterTests.xctest"
BlueprintName = "Task MasterTests" BlueprintName = "Task MasterTests"
ReferencedContainer = "container:Task Master.xcodeproj"> ReferencedContainer = "container:Task Master.xcodeproj">
@@ -42,7 +42,7 @@
<MacroExpansion> <MacroExpansion>
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "5F26CD7E1DDDDAF6008452B2" BlueprintIdentifier = "5F05B71D1DFE210A0095C03B"
BuildableName = "Task Master.app" BuildableName = "Task Master.app"
BlueprintName = "Task Master" BlueprintName = "Task Master"
ReferencedContainer = "container:Task Master.xcodeproj"> ReferencedContainer = "container:Task Master.xcodeproj">
@@ -65,7 +65,7 @@
runnableDebuggingMode = "0"> runnableDebuggingMode = "0">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "5F26CD7E1DDDDAF6008452B2" BlueprintIdentifier = "5F05B71D1DFE210A0095C03B"
BuildableName = "Task Master.app" BuildableName = "Task Master.app"
BlueprintName = "Task Master" BlueprintName = "Task Master"
ReferencedContainer = "container:Task Master.xcodeproj"> ReferencedContainer = "container:Task Master.xcodeproj">
@@ -84,7 +84,7 @@
runnableDebuggingMode = "0"> runnableDebuggingMode = "0">
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "5F26CD7E1DDDDAF6008452B2" BlueprintIdentifier = "5F05B71D1DFE210A0095C03B"
BuildableName = "Task Master.app" BuildableName = "Task Master.app"
BlueprintName = "Task Master" BlueprintName = "Task Master"
ReferencedContainer = "container:Task Master.xcodeproj"> ReferencedContainer = "container:Task Master.xcodeproj">

View File

@@ -12,12 +12,12 @@
</dict> </dict>
<key>SuppressBuildableAutocreation</key> <key>SuppressBuildableAutocreation</key>
<dict> <dict>
<key>5F26CD7E1DDDDAF6008452B2</key> <key>5F05B71D1DFE210A0095C03B</key>
<dict> <dict>
<key>primary</key> <key>primary</key>
<true/> <true/>
</dict> </dict>
<key>5F26CD941DDDDAF6008452B2</key> <key>5F05B7331DFE210A0095C03B</key>
<dict> <dict>
<key>primary</key> <key>primary</key>
<true/> <true/>

View File

@@ -2,7 +2,7 @@
// AppDelegate.swift // AppDelegate.swift
// Task Master // Task Master
// //
// Created by Alexander Davis on 17/11/2016. // Created by Alexander Davis on 12/12/2016.
// Copyright © 2016 Alexander Davis Computing and Media. All rights reserved. // Copyright © 2016 Alexander Davis Computing and Media. All rights reserved.
// //

View File

@@ -1,5 +1,15 @@
{ {
"images" : [ "images" : [
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "2x"
},
{
"idiom" : "iphone",
"size" : "20x20",
"scale" : "3x"
},
{ {
"idiom" : "iphone", "idiom" : "iphone",
"size" : "29x29", "size" : "29x29",

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "create_new-25.png"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "create_new-32.png"
},
{
"idiom" : "universal",
"scale" : "3x",
"filename" : "create_new-50.png"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 874 B

View File

0
Task Master/Task Master/Assets.xcassets/first.imageset/first.pdf vendored Normal file → Executable file
View File

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x",
"filename" : "report_card-25.png"
},
{
"idiom" : "universal",
"scale" : "2x",
"filename" : "report_card-32.png"
},
{
"idiom" : "universal",
"scale" : "3x",
"filename" : "report_card-50.png"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 209 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

View File

0
Task Master/Task Master/Assets.xcassets/second.imageset/second.pdf vendored Normal file → Executable file
View File

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11134" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11106"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
</document>

View File

@@ -9,10 +9,10 @@
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies> </dependencies>
<scenes> <scenes>
<!--Create New Task--> <!--Task List-->
<scene sceneID="hNz-n2-bh7"> <scene sceneID="hNz-n2-bh7">
<objects> <objects>
<viewController id="9pv-A4-QxB" customClass="FirstViewController" customModule="Task_Master" customModuleProvider="target" sceneMemberID="viewController"> <viewController title="Task List" id="9pv-A4-QxB" customClass="FirstViewController" customModule="Task_Master" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides> <layoutGuides>
<viewControllerLayoutGuide type="top" id="Ia1-K6-d13"/> <viewControllerLayoutGuide type="top" id="Ia1-K6-d13"/>
<viewControllerLayoutGuide type="bottom" id="4ug-Mw-9AY"/> <viewControllerLayoutGuide type="bottom" id="4ug-Mw-9AY"/>
@@ -21,41 +21,31 @@
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/> <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" fixedFrame="YES" text="Create New Task" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="6ri-8T-W5S"> <tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="dUb-Cz-GwL" userLabel="TblTasks">
<rect key="frame" x="51" y="28" width="274" height="42"/> <rect key="frame" x="0.0" y="20" width="375" height="598"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<fontDescription key="fontDescription" name="Helvetica" family="Helvetica" pointSize="36"/> <connections>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/> <outlet property="dataSource" destination="9pv-A4-QxB" id="P4h-06-yAE"/>
<nil key="highlightedColor"/> <outlet property="delegate" destination="9pv-A4-QxB" id="L2G-ZE-bZ8"/>
</label> </connections>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="hFX-3w-pAq"> </tableView>
<rect key="frame" x="166" y="462" width="97" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="mYA-Fw-o0J">
<rect key="frame" x="126" y="78" width="233" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
</textField>
</subviews> </subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view> </view>
<tabBarItem key="tabBarItem" title="Create New Task" image="first" id="acW-dT-cKf"/> <tabBarItem key="tabBarItem" title="Task List" image="report_card-50" selectedImage="report_card-50" id="acW-dT-cKf"/>
<connections>
<outlet property="tblTasks" destination="dUb-Cz-GwL" id="HBA-Lj-fYP"/>
</connections>
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="W5J-7L-Pyd" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="W5J-7L-Pyd" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="749.60000000000002" y="-320.68965517241384"/> <point key="canvasLocation" x="749.60000000000002" y="-320.68965517241384"/>
</scene> </scene>
<!--View Current Tasks--> <!--Create Task-->
<scene sceneID="wg7-f3-ORb"> <scene sceneID="wg7-f3-ORb">
<objects> <objects>
<viewController id="8rJ-Kc-sve" customClass="SecondViewController" customModule="Task_Master" customModuleProvider="target" sceneMemberID="viewController"> <viewController title="Create Task" id="8rJ-Kc-sve" customClass="SecondViewController" customModule="Task_Master" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides> <layoutGuides>
<viewControllerLayoutGuide type="top" id="L7p-HK-0SC"/> <viewControllerLayoutGuide type="top" id="L7p-HK-0SC"/>
<viewControllerLayoutGuide type="bottom" id="Djb-ko-YwX"/> <viewControllerLayoutGuide type="bottom" id="Djb-ko-YwX"/>
@@ -64,105 +54,87 @@
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/> <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="30H-ta-HTS"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="New Task" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hxo-Df-LXR" userLabel="LblNewTask">
<rect key="frame" x="0.0" y="78" width="375" height="540"/> <rect key="frame" x="16" y="20" width="343" height="34"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <fontDescription key="fontDescription" type="boldSystem" pointSize="30"/>
</tableView> <nil key="textColor"/>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" fixedFrame="YES" text="Current Tasks" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="4xk-kS-mYZ">
<rect key="frame" x="79" y="28" width="222" height="42"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" name="Helvetica" family="Helvetica" pointSize="36"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Name" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="dbT-xU-LVU" userLabel="TbxName">
<rect key="frame" x="16" y="62" width="343" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
<connections>
<outlet property="delegate" destination="8rJ-Kc-sve" id="MO5-IT-F0B"/>
</connections>
</textField>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Description" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="8gF-Gw-aKr" userLabel="TbxDescription">
<rect key="frame" x="16" y="100" width="343" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<nil key="textColor"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<textInputTraits key="textInputTraits"/>
<connections>
<outlet property="delegate" destination="8rJ-Kc-sve" id="Ffm-hV-KHo"/>
</connections>
</textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Task Deadline" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Lkv-kD-xzC">
<rect key="frame" x="16" y="138" width="107" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<datePicker contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" datePickerMode="dateAndTime" minuteInterval="1" translatesAutoresizingMaskIntoConstraints="NO" id="Odd-nh-N2Q">
<rect key="frame" x="0.0" y="167" width="375" height="216"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<date key="date" timeIntervalSinceReferenceDate="503197116.23274302">
<!--2016-12-12 00:58:36 +0000-->
</date>
</datePicker>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="mTg-CE-U6F" userLabel="BtnSave">
<rect key="frame" x="313" y="430" width="46" height="30"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
<state key="normal" title="Save"/>
<connections>
<action selector="btnAddTask:" destination="8rJ-Kc-sve" eventType="touchUpInside" id="ey0-Qr-ujb"/>
</connections>
</button>
<switch opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="XXl-kG-a1h">
<rect key="frame" x="310" y="391" width="51" height="31"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</switch>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" text="Location Specific Task" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lqm-xh-3I8">
<rect key="frame" x="16" y="391" width="286" height="31"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" fixedFrame="YES" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="e72-EB-pY5">
<rect key="frame" x="310" y="391" width="49" height="31"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<connections>
<action selector="btnLocaionOffline:" destination="8rJ-Kc-sve" eventType="touchUpInside" id="CoQ-vY-xJC"/>
</connections>
</button>
</subviews> </subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</view> </view>
<tabBarItem key="tabBarItem" title="View Current Tasks" image="first" id="cPa-gy-q4n"/> <tabBarItem key="tabBarItem" title="Create Task" image="create_new-50" selectedImage="create_new-50" id="cPa-gy-q4n"/>
<connections>
<outlet property="txtDesc" destination="8gF-Gw-aKr" id="j3d-Ng-Jc0"/>
<outlet property="txtTask" destination="dbT-xU-LVU" id="JHl-jE-3Vb"/>
</connections>
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="4Nw-L8-lE0" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="4Nw-L8-lE0" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="749.60000000000002" y="359.37031484257875"/> <point key="canvasLocation" x="749.60000000000002" y="359.37031484257875"/>
</scene> </scene>
<!--View Controller-->
<scene sceneID="YoS-Eh-zlA">
<objects>
<viewController id="Ddc-yo-LlB" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="fJY-kR-crH"/>
<viewControllerLayoutGuide type="bottom" id="58K-W9-mwg"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="u3S-W1-zWH">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<pickerView contentMode="scaleToFill" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="88o-Di-nbc">
<rect key="frame" x="0.0" y="225" width="375" height="216"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
</pickerView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="Ae5-ln-Aai" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1524" y="359"/>
</scene>
<!--View Completed Tasks-->
<scene sceneID="2gi-Py-dkS">
<objects>
<viewController id="9Rc-wP-Td5" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="OQY-LZ-fR2"/>
<viewControllerLayoutGuide type="bottom" id="Xc0-n7-WbU"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="TAW-3R-2dS">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" fixedFrame="YES" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="eqp-k6-Two">
<rect key="frame" x="0.0" y="28" width="375" height="590"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<label key="tableFooterView" opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" text="Completed Tasks" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" id="fSL-4E-trU">
<rect key="frame" x="0.0" y="0.0" width="375" height="42"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<fontDescription key="fontDescription" name="Helvetica" family="Helvetica" pointSize="36"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
</tableView>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</view>
<tabBarItem key="tabBarItem" title="View Completed Tasks" image="first" id="gnk-7f-T6r"/>
<simulatedTabBarMetrics key="simulatedBottomBarMetrics"/>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="y0F-dD-Nzh" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="749.60000000000002" y="1045.7271364317842"/>
</scene>
<!--View Controller-->
<scene sceneID="ccx-r4-1xM">
<objects>
<viewController id="5xa-yJ-Jv1" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="ojH-R2-lsa"/>
<viewControllerLayoutGuide type="bottom" id="3t6-zF-PuV"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="AkG-jL-Wjf">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="6fG-cY-BDx" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="1524" y="1046"/>
</scene>
<!--Tab Bar Controller--> <!--Tab Bar Controller-->
<scene sceneID="yl2-sM-qoP"> <scene sceneID="yl2-sM-qoP">
<objects> <objects>
@@ -176,15 +148,15 @@
<connections> <connections>
<segue destination="9pv-A4-QxB" kind="relationship" relationship="viewControllers" id="u7Y-xg-7CH"/> <segue destination="9pv-A4-QxB" kind="relationship" relationship="viewControllers" id="u7Y-xg-7CH"/>
<segue destination="8rJ-Kc-sve" kind="relationship" relationship="viewControllers" id="lzU-1b-eKA"/> <segue destination="8rJ-Kc-sve" kind="relationship" relationship="viewControllers" id="lzU-1b-eKA"/>
<segue destination="9Rc-wP-Td5" kind="relationship" relationship="viewControllers" id="mDg-PZ-mSh"/>
</connections> </connections>
</tabBarController> </tabBarController>
<placeholder placeholderIdentifier="IBFirstResponder" id="HuB-VB-40B" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="HuB-VB-40B" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="-410" y="15"/> <point key="canvasLocation" x="0.0" y="0.0"/>
</scene> </scene>
</scenes> </scenes>
<resources> <resources>
<image name="first" width="30" height="30"/> <image name="create_new-50" width="16" height="16"/>
<image name="report_card-50" width="16" height="16"/>
</resources> </resources>
</document> </document>

View File

@@ -2,17 +2,25 @@
// FirstViewController.swift // FirstViewController.swift
// Task Master // Task Master
// //
// Created by Alexander Davis on 17/11/2016. // Created by Alexander Davis on 12/12/2016.
// Copyright © 2016 Alexander Davis Computing and Media. All rights reserved. // Copyright © 2016 Alexander Davis Computing and Media. All rights reserved.
// //
import UIKit import UIKit
class FirstViewController: UIViewController { class FirstViewController: UIViewController, UITableViewDelegate, UITableViewDataSource
{
@IBOutlet var tblTasks : UITableView!
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib. tblTasks.reloadData()
}
override func viewWillAppear(_ animated: Bool) {
self.tblTasks.reloadData()
} }
override func didReceiveMemoryWarning() { override func didReceiveMemoryWarning() {
@@ -20,6 +28,29 @@ class FirstViewController: UIViewController {
// Dispose of any resources that can be recreated. // Dispose of any resources that can be recreated.
} }
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int{
return taskMgr.tasks.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell{
let cell: UITableViewCell = UITableViewCell(style: UITableViewCellStyle.subtitle, reuseIdentifier: "Default Tasks")
//Assign the contents of var "items" to the textLabel of each cell
cell.textLabel!.text = taskMgr.tasks[indexPath.row].name
cell.detailTextLabel!.text = taskMgr.tasks[indexPath.row].desc
return cell
} }
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath){
if (editingStyle == UITableViewCellEditingStyle.delete){
taskMgr.tasks.remove(at: indexPath.row)
tblTasks.reloadData()
}
}
}

View File

@@ -20,6 +20,12 @@
<string>1</string> <string>1</string>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>
<true/> <true/>
<key>UIBackgroundModes</key>
<array>
<string>fetch</string>
<string>location</string>
<string>remote-notification</string>
</array>
<key>UILaunchStoryboardName</key> <key>UILaunchStoryboardName</key>
<string>LaunchScreen</string> <string>LaunchScreen</string>
<key>UIMainStoryboardFile</key> <key>UIMainStoryboardFile</key>
@@ -43,6 +49,7 @@
<string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string> <string>UIInterfaceOrientationLandscapeRight</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array> </array>
</dict> </dict>
</plist> </plist>

View File

@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11134" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11106"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--View Controller-->
<scene sceneID="EHf-IW-A2E">
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright © 2016 Alexander Davis Computing and Media. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="obG-Y5-kRd">
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Task Master" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="GJd-Yh-RWb">
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="centerX" secondItem="obG-Y5-kRd" secondAttribute="centerX" id="5cz-MP-9tL"/>
<constraint firstAttribute="centerX" secondItem="GJd-Yh-RWb" secondAttribute="centerX" id="Q3B-4B-g5h"/>
<constraint firstItem="obG-Y5-kRd" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" constant="20" symbolic="YES" id="SfN-ll-jLj"/>
<constraint firstAttribute="bottom" secondItem="obG-Y5-kRd" secondAttribute="bottom" constant="20" id="Y44-ml-fuU"/>
<constraint firstItem="GJd-Yh-RWb" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="bottom" multiplier="1/3" constant="1" id="moa-c2-u7t"/>
<constraint firstItem="GJd-Yh-RWb" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" constant="20" symbolic="YES" id="x7j-FC-K8j"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
</document>

View File

@@ -2,13 +2,16 @@
// SecondViewController.swift // SecondViewController.swift
// Task Master // Task Master
// //
// Created by Alexander Davis on 17/11/2016. // Created by Alexander Davis on 12/12/2016.
// Copyright © 2016 Alexander Davis Computing and Media. All rights reserved. // Copyright © 2016 Alexander Davis Computing and Media. All rights reserved.
// //
import UIKit import UIKit
class SecondViewController: UIViewController { class SecondViewController: UIViewController, UITextFieldDelegate {
@IBOutlet var txtTask: UITextField!
@IBOutlet var txtDesc: UITextField!
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
@@ -20,6 +23,38 @@ class SecondViewController: UIViewController {
// Dispose of any resources that can be recreated. // Dispose of any resources that can be recreated.
} }
@IBAction func btnAddTask(_ sender : UIButton){
if (txtTask.text == ""){
//App won't add task if textbox is empty
} else {
//If above case is 'false', Task Master will create a task
let name: String = txtTask.text!
let description: String = txtDesc.text!
taskMgr.addTask(name, desc: description)
//Once Task is added, keyboard will be dismissed and form will reset
self.view.endEditing(true)
txtTask.text = nil
txtDesc.text = nil
} }
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
self.view.endEditing(true)
}
func textFieldShouldReturn(_ textField: UITextField) -> Bool{
textField.resignFirstResponder()
return true
}
@IBAction func btnLocaionOffline(_ sender : UIButton){
let alertController = UIAlertController(title: "Location Based Tasks Not Available", message:
"Location based tasks are not available just yet. I will add these later!", preferredStyle: UIAlertControllerStyle.alert)
alertController.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default,handler: nil))
self.present(alertController, animated: true, completion: nil)
}
}

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>aps-environment</key>
<string>development</string>
<key>com.apple.developer.default-data-protection</key>
<string>NSFileProtectionComplete</string>
<key>com.apple.developer.siri</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,26 @@
//
// TaskMaster.swift
// Task Master
//
// Created by Alexander Davis on 12/12/2016.
// Copyright © 2016 Alexander Davis Computing and Media. All rights reserved.
//
import UIKit
var taskMgr: TaskManager = TaskManager()
struct task {
var name = "not defined"
var desc = "not defined"
}
class TaskManager: NSObject {
var tasks = [task]()
func addTask(_ name: String, desc: String){
tasks.append(task(name: name, desc: desc))
}
}

View File

@@ -2,7 +2,7 @@
// Task_MasterTests.swift // Task_MasterTests.swift
// Task MasterTests // Task MasterTests
// //
// Created by Alexander Davis on 17/11/2016. // Created by Alexander Davis on 12/12/2016.
// Copyright © 2016 Alexander Davis Computing and Media. All rights reserved. // Copyright © 2016 Alexander Davis Computing and Media. All rights reserved.
// //