From a1ef9535915e150578019ff7e165b652f7ce334d Mon Sep 17 00:00:00 2001 From: Rwoltx Date: Thu, 4 Oct 2018 23:51:00 -0400 Subject: [PATCH] Finished project --- .DS_Store | Bin 0 -> 6148 bytes Poll/.DS_Store | Bin 0 -> 6148 bytes Poll/Poll.xcodeproj/project.pbxproj | 405 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 53460 bytes .../xcschemes/xcschememanagement.plist | 14 + Poll/Poll/Base.lproj/LaunchScreen.storyboard | 25 ++ Poll/Poll/Model/Vote.swift | 11 + Poll/Poll/Model/VoteController.swift | 20 + Poll/Poll/Resources/AppDelegate.swift | 41 ++ .../AppIcon.appiconset/Contents.json | 98 +++++ .../Resources/Assets.xcassets/Contents.json | 6 + Poll/Poll/Resources/Info.plist | 45 ++ .../StoryBoards/Base.lproj/Voting.storyboard | 67 +++ Poll/Poll/StoryBoards/Combined.storyboard | 63 +++ Poll/Poll/StoryBoards/Main.storyboard | 62 +++ Poll/Poll/StoryBoards/Results.storyboard | 62 +++ .../CombinedViewController.swift | 48 +++ .../PollingTabBarViewController.swift | 30 ++ .../ResultsTableViewController.swift | 43 ++ .../VotingViewController.swift | 25 ++ Poll/Poll/VoteControllerProtocol.swift | 14 + 23 files changed, 1094 insertions(+) create mode 100644 .DS_Store create mode 100644 Poll/.DS_Store create mode 100644 Poll/Poll.xcodeproj/project.pbxproj create mode 100644 Poll/Poll.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 Poll/Poll.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 Poll/Poll.xcodeproj/project.xcworkspace/xcuserdata/RickWolter.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 Poll/Poll.xcodeproj/xcuserdata/RickWolter.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 Poll/Poll/Base.lproj/LaunchScreen.storyboard create mode 100644 Poll/Poll/Model/Vote.swift create mode 100644 Poll/Poll/Model/VoteController.swift create mode 100644 Poll/Poll/Resources/AppDelegate.swift create mode 100644 Poll/Poll/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 Poll/Poll/Resources/Assets.xcassets/Contents.json create mode 100644 Poll/Poll/Resources/Info.plist create mode 100644 Poll/Poll/StoryBoards/Base.lproj/Voting.storyboard create mode 100644 Poll/Poll/StoryBoards/Combined.storyboard create mode 100644 Poll/Poll/StoryBoards/Main.storyboard create mode 100644 Poll/Poll/StoryBoards/Results.storyboard create mode 100644 Poll/Poll/ViewControllers/CombinedViewController.swift create mode 100644 Poll/Poll/ViewControllers/PollingTabBarViewController.swift create mode 100644 Poll/Poll/ViewControllers/ResultsTableViewController.swift create mode 100644 Poll/Poll/ViewControllers/VotingViewController.swift create mode 100644 Poll/Poll/VoteControllerProtocol.swift diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..89e3a8ab9f774479add279f4e5d46ca3b53f3609 GIT binary patch literal 6148 zcmeHK!D`z;5S?|DR-%OZP)Lrt6nY53A#GA90mZcsJ`_R}nnPO>sWOQ`(FR+NNnICx zLC?)6rmNv( zYpccf=5!kP%TL$0dq<}ipC+HDU%r{0lEU|F%l$YE{K935y( z2>|rqHUiuH`U69D03(OBMR*{}rUGrMawUdxm4mYB7>`_hZPBKaGAm;qx3Y2-igJaA z3Qahv$fC5ufG{x6z=G{I`Tp?<}i0BrTTy9Sm37IY!r73QYAd}b%PA~fxB*ALrGKWsSn4QGt`g18OtF`!33 z;omTK`RV4w^Ftl3@P;ipJ3Qe9dybwb+>Z&@H>gkwlmewdDNqWO0_xea#aUp*QlJzl z1-=!~|DmM|yTmcje;o|EzAN7dWgPp}pV;QSOB@54p;=IgLA88hSiT%A=*)LnKL!RJ z<|lKXJlXPvV)^i}*2`gCV8v3P6gXDkG^R`S|6BSm@Bd>`%}Rk%;9n_V&H7=z;wNQq zoqe2oZA*WoAB?qL&fu+>=&hI&wc?8(b*;wCcZp-5)4A?+VqFBJOIa!K7Ycj<|Bfiv literal 0 HcmV?d00001 diff --git a/Poll/Poll.xcodeproj/project.pbxproj b/Poll/Poll.xcodeproj/project.pbxproj new file mode 100644 index 0000000..71fe58d --- /dev/null +++ b/Poll/Poll.xcodeproj/project.pbxproj @@ -0,0 +1,405 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 50; + objects = { + +/* Begin PBXBuildFile section */ + 1CFF762A214212480026B153 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFF7629214212480026B153 /* AppDelegate.swift */; }; + 1CFF762F214212480026B153 /* Voting.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1CFF762D214212480026B153 /* Voting.storyboard */; }; + 1CFF7631214212490026B153 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1CFF7630214212490026B153 /* Assets.xcassets */; }; + 1CFF7634214212490026B153 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1CFF7632214212490026B153 /* LaunchScreen.storyboard */; }; + 1CFF763C214212E70026B153 /* Vote.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFF763B214212E70026B153 /* Vote.swift */; }; + 1CFF763F214213090026B153 /* VoteController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFF763E214213090026B153 /* VoteController.swift */; }; + 1CFF764421421B2F0026B153 /* Results.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1CFF764321421B2F0026B153 /* Results.storyboard */; }; + 1CFF76462142202F0026B153 /* VotingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFF76452142202F0026B153 /* VotingViewController.swift */; }; + 1CFF7648214221420026B153 /* ResultsTableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFF7647214221420026B153 /* ResultsTableViewController.swift */; }; + 1CFF764A214221760026B153 /* Combined.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1CFF7649214221760026B153 /* Combined.storyboard */; }; + 1CFF764C2142232C0026B153 /* CombinedViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFF764B2142232C0026B153 /* CombinedViewController.swift */; }; + 1CFF764E2142238C0026B153 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1CFF764D2142238C0026B153 /* Main.storyboard */; }; + 1CFF765021422B780026B153 /* PollingTabBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFF764F21422B780026B153 /* PollingTabBarViewController.swift */; }; + 1CFF765221422BF70026B153 /* VoteControllerProtocol.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1CFF765121422BF70026B153 /* VoteControllerProtocol.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 1CFF7626214212480026B153 /* Poll.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Poll.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 1CFF7629214212480026B153 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 1CFF762E214212480026B153 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Voting.storyboard; sourceTree = ""; }; + 1CFF7630214212490026B153 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 1CFF7633214212490026B153 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 1CFF7635214212490026B153 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 1CFF763B214212E70026B153 /* Vote.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Vote.swift; sourceTree = ""; }; + 1CFF763E214213090026B153 /* VoteController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VoteController.swift; sourceTree = ""; }; + 1CFF764321421B2F0026B153 /* Results.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Results.storyboard; sourceTree = ""; }; + 1CFF76452142202F0026B153 /* VotingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VotingViewController.swift; sourceTree = ""; }; + 1CFF7647214221420026B153 /* ResultsTableViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ResultsTableViewController.swift; sourceTree = ""; }; + 1CFF7649214221760026B153 /* Combined.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Combined.storyboard; sourceTree = ""; }; + 1CFF764B2142232C0026B153 /* CombinedViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CombinedViewController.swift; sourceTree = ""; }; + 1CFF764D2142238C0026B153 /* Main.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; + 1CFF764F21422B780026B153 /* PollingTabBarViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PollingTabBarViewController.swift; sourceTree = ""; }; + 1CFF765121422BF70026B153 /* VoteControllerProtocol.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VoteControllerProtocol.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 1CFF7623214212480026B153 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 1CFF761D214212480026B153 = { + isa = PBXGroup; + children = ( + 1CFF7628214212480026B153 /* Poll */, + 1CFF7627214212480026B153 /* Products */, + ); + sourceTree = ""; + }; + 1CFF7627214212480026B153 /* Products */ = { + isa = PBXGroup; + children = ( + 1CFF7626214212480026B153 /* Poll.app */, + ); + name = Products; + sourceTree = ""; + }; + 1CFF7628214212480026B153 /* Poll */ = { + isa = PBXGroup; + children = ( + 1CFF7640214215650026B153 /* Resources */, + 1CFF76412142157C0026B153 /* ViewControllers */, + 1CFF764221421ABA0026B153 /* StoryBoards */, + 1CFF763D214212F20026B153 /* Model */, + 1CFF7632214212490026B153 /* LaunchScreen.storyboard */, + 1CFF765121422BF70026B153 /* VoteControllerProtocol.swift */, + ); + path = Poll; + sourceTree = ""; + }; + 1CFF763D214212F20026B153 /* Model */ = { + isa = PBXGroup; + children = ( + 1CFF763B214212E70026B153 /* Vote.swift */, + 1CFF763E214213090026B153 /* VoteController.swift */, + ); + path = Model; + sourceTree = ""; + }; + 1CFF7640214215650026B153 /* Resources */ = { + isa = PBXGroup; + children = ( + 1CFF7629214212480026B153 /* AppDelegate.swift */, + 1CFF7630214212490026B153 /* Assets.xcassets */, + 1CFF7635214212490026B153 /* Info.plist */, + ); + path = Resources; + sourceTree = ""; + }; + 1CFF76412142157C0026B153 /* ViewControllers */ = { + isa = PBXGroup; + children = ( + 1CFF76452142202F0026B153 /* VotingViewController.swift */, + 1CFF7647214221420026B153 /* ResultsTableViewController.swift */, + 1CFF764B2142232C0026B153 /* CombinedViewController.swift */, + 1CFF764F21422B780026B153 /* PollingTabBarViewController.swift */, + ); + path = ViewControllers; + sourceTree = ""; + }; + 1CFF764221421ABA0026B153 /* StoryBoards */ = { + isa = PBXGroup; + children = ( + 1CFF762D214212480026B153 /* Voting.storyboard */, + 1CFF764321421B2F0026B153 /* Results.storyboard */, + 1CFF7649214221760026B153 /* Combined.storyboard */, + 1CFF764D2142238C0026B153 /* Main.storyboard */, + ); + path = StoryBoards; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 1CFF7625214212480026B153 /* Poll */ = { + isa = PBXNativeTarget; + buildConfigurationList = 1CFF7638214212490026B153 /* Build configuration list for PBXNativeTarget "Poll" */; + buildPhases = ( + 1CFF7622214212480026B153 /* Sources */, + 1CFF7623214212480026B153 /* Frameworks */, + 1CFF7624214212480026B153 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = Poll; + productName = Poll; + productReference = 1CFF7626214212480026B153 /* Poll.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 1CFF761E214212480026B153 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0940; + LastUpgradeCheck = 0940; + ORGANIZATIONNAME = RNWolter; + TargetAttributes = { + 1CFF7625214212480026B153 = { + CreatedOnToolsVersion = 9.4.1; + }; + }; + }; + buildConfigurationList = 1CFF7621214212480026B153 /* Build configuration list for PBXProject "Poll" */; + compatibilityVersion = "Xcode 9.3"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 1CFF761D214212480026B153; + productRefGroup = 1CFF7627214212480026B153 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 1CFF7625214212480026B153 /* Poll */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 1CFF7624214212480026B153 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1CFF7634214212490026B153 /* LaunchScreen.storyboard in Resources */, + 1CFF7631214212490026B153 /* Assets.xcassets in Resources */, + 1CFF764A214221760026B153 /* Combined.storyboard in Resources */, + 1CFF764E2142238C0026B153 /* Main.storyboard in Resources */, + 1CFF762F214212480026B153 /* Voting.storyboard in Resources */, + 1CFF764421421B2F0026B153 /* Results.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 1CFF7622214212480026B153 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 1CFF763F214213090026B153 /* VoteController.swift in Sources */, + 1CFF765221422BF70026B153 /* VoteControllerProtocol.swift in Sources */, + 1CFF764C2142232C0026B153 /* CombinedViewController.swift in Sources */, + 1CFF763C214212E70026B153 /* Vote.swift in Sources */, + 1CFF765021422B780026B153 /* PollingTabBarViewController.swift in Sources */, + 1CFF7648214221420026B153 /* ResultsTableViewController.swift in Sources */, + 1CFF762A214212480026B153 /* AppDelegate.swift in Sources */, + 1CFF76462142202F0026B153 /* VotingViewController.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 1CFF762D214212480026B153 /* Voting.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 1CFF762E214212480026B153 /* Base */, + ); + name = Voting.storyboard; + sourceTree = ""; + }; + 1CFF7632214212490026B153 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 1CFF7633214212490026B153 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 1CFF7636214212490026B153 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.4; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + 1CFF7637214212490026B153 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 11.4; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 1CFF7639214212490026B153 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = "$(SRCROOT)/Poll/Resources/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.RNWolter.Poll; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 1CFF763A214212490026B153 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_STYLE = Automatic; + INFOPLIST_FILE = "$(SRCROOT)/Poll/Resources/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.RNWolter.Poll; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 4.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 1CFF7621214212480026B153 /* Build configuration list for PBXProject "Poll" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1CFF7636214212490026B153 /* Debug */, + 1CFF7637214212490026B153 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 1CFF7638214212490026B153 /* Build configuration list for PBXNativeTarget "Poll" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 1CFF7639214212490026B153 /* Debug */, + 1CFF763A214212490026B153 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 1CFF761E214212480026B153 /* Project object */; +} diff --git a/Poll/Poll.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Poll/Poll.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..9d02d16 --- /dev/null +++ b/Poll/Poll.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Poll/Poll.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Poll/Poll.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Poll/Poll.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Poll/Poll.xcodeproj/project.xcworkspace/xcuserdata/RickWolter.xcuserdatad/UserInterfaceState.xcuserstate b/Poll/Poll.xcodeproj/project.xcworkspace/xcuserdata/RickWolter.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..1b9c52a94b057bd4d8ac045a5759c5b64a962f24 GIT binary patch literal 53460 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 V|A?&E+WvTSb@- + + + + SchemeUserState + + Poll.xcscheme + + orderHint + 0 + + + + diff --git a/Poll/Poll/Base.lproj/LaunchScreen.storyboard b/Poll/Poll/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..f83f6fd --- /dev/null +++ b/Poll/Poll/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Poll/Poll/Model/Vote.swift b/Poll/Poll/Model/Vote.swift new file mode 100644 index 0000000..08f9cf3 --- /dev/null +++ b/Poll/Poll/Model/Vote.swift @@ -0,0 +1,11 @@ +// Copyright © 2018 RNWolter. All rights reserved. + + +import Foundation + +struct Vote { + + let name: String + let response: String + +} diff --git a/Poll/Poll/Model/VoteController.swift b/Poll/Poll/Model/VoteController.swift new file mode 100644 index 0000000..72ddd38 --- /dev/null +++ b/Poll/Poll/Model/VoteController.swift @@ -0,0 +1,20 @@ +// Copyright © 2018 RNWolter. All rights reserved. + +import Foundation + + +class VoteController { + + private(set) var votes = [Vote]() + + + + func createVote(name: String, response: String){ + + let vote = Vote(name: name, response: response) + votes.append(vote) + } + + + +} diff --git a/Poll/Poll/Resources/AppDelegate.swift b/Poll/Poll/Resources/AppDelegate.swift new file mode 100644 index 0000000..89600d1 --- /dev/null +++ b/Poll/Poll/Resources/AppDelegate.swift @@ -0,0 +1,41 @@ +// Copyright © 2018 RNWolter. All rights reserved. + + +import UIKit + +@UIApplicationMain +class AppDelegate: UIResponder, UIApplicationDelegate { + + var window: UIWindow? + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + func applicationWillResignActive(_ application: UIApplication) { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. + } + + func applicationDidEnterBackground(_ application: UIApplication) { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. + } + + func applicationWillEnterForeground(_ application: UIApplication) { + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. + } + + func applicationDidBecomeActive(_ application: UIApplication) { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. + } + + func applicationWillTerminate(_ application: UIApplication) { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. + } + + +} + diff --git a/Poll/Poll/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json b/Poll/Poll/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..d8db8d6 --- /dev/null +++ b/Poll/Poll/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "20x20", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "29x29", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "40x40", + "scale" : "3x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "2x" + }, + { + "idiom" : "iphone", + "size" : "60x60", + "scale" : "3x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "20x20", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "29x29", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "40x40", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "1x" + }, + { + "idiom" : "ipad", + "size" : "76x76", + "scale" : "2x" + }, + { + "idiom" : "ipad", + "size" : "83.5x83.5", + "scale" : "2x" + }, + { + "idiom" : "ios-marketing", + "size" : "1024x1024", + "scale" : "1x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Poll/Poll/Resources/Assets.xcassets/Contents.json b/Poll/Poll/Resources/Assets.xcassets/Contents.json new file mode 100644 index 0000000..da4a164 --- /dev/null +++ b/Poll/Poll/Resources/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/Poll/Poll/Resources/Info.plist b/Poll/Poll/Resources/Info.plist new file mode 100644 index 0000000..16be3b6 --- /dev/null +++ b/Poll/Poll/Resources/Info.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDevelopmentRegion + $(DEVELOPMENT_LANGUAGE) + CFBundleExecutable + $(EXECUTABLE_NAME) + CFBundleIdentifier + $(PRODUCT_BUNDLE_IDENTIFIER) + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + $(PRODUCT_NAME) + CFBundlePackageType + APPL + CFBundleShortVersionString + 1.0 + CFBundleVersion + 1 + LSRequiresIPhoneOS + + UILaunchStoryboardName + LaunchScreen + UIMainStoryboardFile + Main + UIRequiredDeviceCapabilities + + armv7 + + UISupportedInterfaceOrientations + + UIInterfaceOrientationPortrait + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + UISupportedInterfaceOrientations~ipad + + UIInterfaceOrientationPortrait + UIInterfaceOrientationPortraitUpsideDown + UIInterfaceOrientationLandscapeLeft + UIInterfaceOrientationLandscapeRight + + + diff --git a/Poll/Poll/StoryBoards/Base.lproj/Voting.storyboard b/Poll/Poll/StoryBoards/Base.lproj/Voting.storyboard new file mode 100644 index 0000000..858de4e --- /dev/null +++ b/Poll/Poll/StoryBoards/Base.lproj/Voting.storyboard @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Poll/Poll/StoryBoards/Combined.storyboard b/Poll/Poll/StoryBoards/Combined.storyboard new file mode 100644 index 0000000..2852ca3 --- /dev/null +++ b/Poll/Poll/StoryBoards/Combined.storyboard @@ -0,0 +1,63 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Poll/Poll/StoryBoards/Main.storyboard b/Poll/Poll/StoryBoards/Main.storyboard new file mode 100644 index 0000000..c2eb62e --- /dev/null +++ b/Poll/Poll/StoryBoards/Main.storyboard @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Poll/Poll/StoryBoards/Results.storyboard b/Poll/Poll/StoryBoards/Results.storyboard new file mode 100644 index 0000000..d25ea32 --- /dev/null +++ b/Poll/Poll/StoryBoards/Results.storyboard @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Poll/Poll/ViewControllers/CombinedViewController.swift b/Poll/Poll/ViewControllers/CombinedViewController.swift new file mode 100644 index 0000000..d0a33bb --- /dev/null +++ b/Poll/Poll/ViewControllers/CombinedViewController.swift @@ -0,0 +1,48 @@ +// Copyright © 2018 RNWolter. All rights reserved. + +import UIKit + +class CombinedViewController: UIViewController, VoteControllerProtocol{ + + var voteController: VoteController? + var resultsTableViewController: ResultsTableViewController? + var votingViewController: VotingViewController? + + @IBOutlet weak var tableView: UIView! + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } +// override func viewWillAppear(_ animated: Bool) { +// tableView.datasou +// } + + + + override func didReceiveMemoryWarning() { + super.didReceiveMemoryWarning() + // Dispose of any resources that can be recreated. + } + + // MARK: - Navigation + + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { + + if segue.identifier == "ResultsSegue" { + guard let resultsVC = segue.destination as? VoteControllerProtocol else {return} + + resultsVC.voteController = voteController + //resultsTableViewController = resultsVC + + } else if segue.identifier == "VotingSegue"{ + + guard let votingVC = segue.destination as? VoteControllerProtocol else {return} + + votingVC.voteController = voteController + } + } +} + + + diff --git a/Poll/Poll/ViewControllers/PollingTabBarViewController.swift b/Poll/Poll/ViewControllers/PollingTabBarViewController.swift new file mode 100644 index 0000000..9979d67 --- /dev/null +++ b/Poll/Poll/ViewControllers/PollingTabBarViewController.swift @@ -0,0 +1,30 @@ +// Copyright © 2018 RNWolter. All rights reserved. + +import UIKit + +class PollingTabBarViewController: UITabBarController { + + + let voteController = VoteController() + + override func viewDidLoad() { + super.viewDidLoad() + passVoteControllerToChildViewControllers() + // Do any additional setup after loading the view. + } + + override func didReceiveMemoryWarning() { + super.didReceiveMemoryWarning() + // Dispose of any resources that can be recreated. + } + + func passVoteControllerToChildViewControllers() { + + for childVC in childViewControllers { + + guard let childVC = childVC as? VoteControllerProtocol else {return} + childVC.voteController = voteController + } + } + +} diff --git a/Poll/Poll/ViewControllers/ResultsTableViewController.swift b/Poll/Poll/ViewControllers/ResultsTableViewController.swift new file mode 100644 index 0000000..c1dfa02 --- /dev/null +++ b/Poll/Poll/ViewControllers/ResultsTableViewController.swift @@ -0,0 +1,43 @@ +// Copyright © 2018 RNWolter. All rights reserved. + + +import UIKit + +class ResultsTableViewController: UITableViewController,VoteControllerProtocol { + var voteController: VoteController? + + + + override func viewDidLoad() { + super.viewDidLoad() + + + } + override func viewWillAppear(_ animated: Bool) { + + tableView.reloadData() +// tableView.dataSource = self +// tableView.delegate = self + } + + + //MARK: - Table view data source + + override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + // #warning Incomplete implementation, return the number of rows + return voteController?.votes.count ?? 0 + } + + + override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "votedCell", for: indexPath) + let vote = voteController?.votes[indexPath.row] + cell.textLabel?.text = vote?.name + cell.detailTextLabel?.text = vote?.response + + return cell + } + + + +} diff --git a/Poll/Poll/ViewControllers/VotingViewController.swift b/Poll/Poll/ViewControllers/VotingViewController.swift new file mode 100644 index 0000000..e52ca36 --- /dev/null +++ b/Poll/Poll/ViewControllers/VotingViewController.swift @@ -0,0 +1,25 @@ +// Copyright © 2018 RNWolter. All rights reserved. + +import UIKit + +class VotingViewController: UIViewController, VoteControllerProtocol { + var voteController: VoteController? + + @IBOutlet weak var nameTextField: UITextField! + + @IBOutlet weak var osTextField: UITextField! + + override func viewDidLoad() { + super.viewDidLoad() + + // Do any additional setup after loading the view. + } + + @IBAction func submitButton(_ sender: Any) { + guard let name = nameTextField.text, + let os = osTextField.text else {return} + + voteController?.createVote(name: name,response: os) + } + +} diff --git a/Poll/Poll/VoteControllerProtocol.swift b/Poll/Poll/VoteControllerProtocol.swift new file mode 100644 index 0000000..0301c5d --- /dev/null +++ b/Poll/Poll/VoteControllerProtocol.swift @@ -0,0 +1,14 @@ +// +// VoteControllerProtocol.swift +// Poll +// +// Created by Rick Wolter on 9/6/18. +// Copyright © 2018 RNWolter. All rights reserved. +// + +import Foundation + + +protocol VoteControllerProtocol: class { + var voteController: VoteController? {get set} +}