1.0 release candidate 1

This commit is contained in:
Micah Gomez 2021-08-16 16:53:46 -06:00
parent eba43838c5
commit c549d81caf
33 changed files with 305 additions and 89 deletions

View file

@ -7,12 +7,12 @@
objects = {
/* Begin PBXBuildFile section */
BD009A9C26A8B00C00D1E600 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BD009A9A26A8B00B00D1E600 /* LaunchScreen.storyboard */; };
BD107EC126866987006D771C /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD107EC026866987006D771C /* AppDelegate.swift */; };
BD107EC326866987006D771C /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD107EC226866987006D771C /* SceneDelegate.swift */; };
BD107EC526866987006D771C /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD107EC426866987006D771C /* ViewController.swift */; };
BD107EC826866987006D771C /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BD107EC626866987006D771C /* Main.storyboard */; };
BD107ECA2686698E006D771C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BD107EC92686698E006D771C /* Assets.xcassets */; };
BD107ECD2686698E006D771C /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = BD107ECB2686698E006D771C /* LaunchScreen.storyboard */; };
BD107ED82686698F006D771C /* BPOrganizerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD107ED72686698F006D771C /* BPOrganizerTests.swift */; };
BD107EE32686698F006D771C /* BPOrganizerUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD107EE22686698F006D771C /* BPOrganizerUITests.swift */; };
/* End PBXBuildFile section */
@ -35,13 +35,13 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
BD009A9B26A8B00B00D1E600 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
BD107EBD26866987006D771C /* BPOrganizer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = BPOrganizer.app; sourceTree = BUILT_PRODUCTS_DIR; };
BD107EC026866987006D771C /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
BD107EC226866987006D771C /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
BD107EC426866987006D771C /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
BD107EC726866987006D771C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
BD107EC92686698E006D771C /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
BD107ECC2686698E006D771C /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
BD107ECE2686698E006D771C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
BD107ED32686698F006D771C /* BPOrganizerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BPOrganizerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
BD107ED72686698F006D771C /* BPOrganizerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BPOrganizerTests.swift; sourceTree = "<group>"; };
@ -49,6 +49,7 @@
BD107EDE2686698F006D771C /* BPOrganizerUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BPOrganizerUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
BD107EE22686698F006D771C /* BPOrganizerUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BPOrganizerUITests.swift; sourceTree = "<group>"; };
BD107EE42686698F006D771C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
BDCC271B2699642F005F364A /* BPOrganizer.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = BPOrganizer.entitlements; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -99,12 +100,13 @@
BD107EBF26866987006D771C /* BPOrganizer */ = {
isa = PBXGroup;
children = (
BDCC271B2699642F005F364A /* BPOrganizer.entitlements */,
BD107EC026866987006D771C /* AppDelegate.swift */,
BD107EC226866987006D771C /* SceneDelegate.swift */,
BD107EC426866987006D771C /* ViewController.swift */,
BD107EC626866987006D771C /* Main.storyboard */,
BD107EC92686698E006D771C /* Assets.xcassets */,
BD107ECB2686698E006D771C /* LaunchScreen.storyboard */,
BD009A9A26A8B00B00D1E600 /* LaunchScreen.storyboard */,
BD107ECE2686698E006D771C /* Info.plist */,
);
path = BPOrganizer;
@ -231,7 +233,7 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
BD107ECD2686698E006D771C /* LaunchScreen.storyboard in Resources */,
BD009A9C26A8B00C00D1E600 /* LaunchScreen.storyboard in Resources */,
BD107ECA2686698E006D771C /* Assets.xcassets in Resources */,
BD107EC826866987006D771C /* Main.storyboard in Resources */,
);
@ -296,6 +298,14 @@
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
BD009A9A26A8B00B00D1E600 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
BD009A9B26A8B00B00D1E600 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
BD107EC626866987006D771C /* Main.storyboard */ = {
isa = PBXVariantGroup;
children = (
@ -304,14 +314,6 @@
name = Main.storyboard;
sourceTree = "<group>";
};
BD107ECB2686698E006D771C /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
BD107ECC2686698E006D771C /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
@ -366,7 +368,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.5;
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
@ -421,7 +423,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.5;
IPHONEOS_DEPLOYMENT_TARGET = 14.1;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
@ -436,7 +438,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = BPOrganizer/BPOrganizer.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 4;
DEVELOPMENT_TEAM = PRBH2T6668;
INFOPLIST_FILE = BPOrganizer/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
@ -445,6 +449,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.mpg13.BPOrganizer;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTS_MACCATALYST = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
@ -455,7 +460,9 @@
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
CODE_SIGN_ENTITLEMENTS = BPOrganizer/BPOrganizer.entitlements;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 4;
DEVELOPMENT_TEAM = PRBH2T6668;
INFOPLIST_FILE = BPOrganizer/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
@ -464,6 +471,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.mpg13.BPOrganizer;
PRODUCT_NAME = "$(TARGET_NAME)";
SUPPORTS_MACCATALYST = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};

View file

@ -1,91 +1,109 @@
{
"images" : [
{
"filename" : "Icon-40.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "20x20"
},
{
"filename" : "Icon-60.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "20x20"
},
{
"filename" : "Icon-58.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "29x29"
},
{
"filename" : "Icon-87.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "29x29"
},
{
"filename" : "Icon-80.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "40x40"
},
{
"filename" : "Icon-120.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "40x40"
},
{
"filename" : "Icon-121.png",
"idiom" : "iphone",
"scale" : "2x",
"size" : "60x60"
},
{
"filename" : "Icon-180.png",
"idiom" : "iphone",
"scale" : "3x",
"size" : "60x60"
},
{
"filename" : "Icon-20.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "20x20"
},
{
"filename" : "Icon-41.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "20x20"
},
{
"filename" : "Icon-29.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "29x29"
},
{
"filename" : "Icon-59.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "29x29"
},
{
"filename" : "Icon-42.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "40x40"
},
{
"filename" : "Icon-81.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "40x40"
},
{
"filename" : "Icon-76.png",
"idiom" : "ipad",
"scale" : "1x",
"size" : "76x76"
},
{
"filename" : "Icon-152.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "76x76"
},
{
"filename" : "Icon-167.png",
"idiom" : "ipad",
"scale" : "2x",
"size" : "83.5x83.5"
},
{
"filename" : "Icon-1024.png",
"idiom" : "ios-marketing",
"scale" : "1x",
"size" : "1024x1024"

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 783 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

View file

@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "coollogo_com-13092940.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "coollogo_com-13092941.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "coollogo_com-13092942.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

View file

@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "Icon-512.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Icon-513.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Icon-514.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -0,0 +1,10 @@
<?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>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.network.client</key>
<true/>
</dict>
</plist>

View file

@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="19142.2" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19129"/>
<capability name="Image references" minToolsVersion="12.0"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="System colors in document resources" minToolsVersion="11.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
@ -11,10 +15,34 @@
<objects>
<viewController id="01J-lp-oVM" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
<subviews>
<imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="tzs-7w-lyi">
<rect key="frame" x="100" y="384" width="214" height="128"/>
<constraints>
<constraint firstAttribute="width" secondItem="tzs-7w-lyi" secondAttribute="height" multiplier="77:46" id="axO-24-MFU"/>
</constraints>
<imageReference key="image" image="Micah Gomez"/>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="From" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Zuj-Ek-bSV">
<rect key="frame" x="100" y="347" width="214" height="29"/>
<fontDescription key="fontDescription" type="system" weight="heavy" pointSize="24"/>
<nil key="textColor"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="tzs-7w-lyi" firstAttribute="leading" secondItem="Zuj-Ek-bSV" secondAttribute="leading" id="L95-JJ-ciP"/>
<constraint firstItem="tzs-7w-lyi" firstAttribute="top" secondItem="Zuj-Ek-bSV" secondAttribute="bottom" constant="8" symbolic="YES" id="Let-P6-Mj6"/>
<constraint firstItem="tzs-7w-lyi" firstAttribute="centerY" secondItem="Ze5-6b-2t3" secondAttribute="centerY" id="Nd0-O8-MaK"/>
<constraint firstItem="tzs-7w-lyi" firstAttribute="trailing" secondItem="Zuj-Ek-bSV" secondAttribute="trailing" id="PnO-Jq-5bD"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="tzs-7w-lyi" secondAttribute="trailing" constant="100" id="T4A-hC-jCR"/>
<constraint firstItem="tzs-7w-lyi" firstAttribute="centerX" secondItem="Ze5-6b-2t3" secondAttribute="centerX" id="mO4-py-5Sy"/>
<constraint firstItem="tzs-7w-lyi" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" constant="100" id="sS2-OU-O7z"/>
</constraints>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
@ -22,4 +50,10 @@
<point key="canvasLocation" x="53" y="375"/>
</scene>
</scenes>
<resources>
<image name="Micah Gomez" width="385.5" height="230.5"/>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</systemColor>
</resources>
</document>

View file

@ -17,8 +17,8 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="JjE-3R-0dR">
<rect key="frame" x="20" y="268" width="374" height="556"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<rect key="frame" x="20" y="276" width="374" height="482"/>
<color key="backgroundColor" systemColor="systemGray5Color"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="pocket" textLabel="pPO-Au-kTu" style="IBUITableViewCellStyleDefault" id="NuD-d3-EPB">
<rect key="frame" x="0.0" y="24.5" width="374" height="43.5"/>
@ -36,67 +36,108 @@
</label>
</subviews>
</tableViewCellContentView>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</tableViewCell>
</prototypes>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="13"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</tableView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="M6l-dh-v8o">
<rect key="frame" x="20" y="832" width="82" height="30"/>
<rect key="frame" x="20" y="766" width="183" height="40"/>
<color key="backgroundColor" systemColor="systemGray5Color"/>
<state key="normal" title="New Bag"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="13"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="AddBag:" destination="BYZ-38-t0r" eventType="touchUpInside" id="VXZ-Wf-zb1"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="QJC-tE-0Q7">
<rect key="frame" x="110" y="832" width="82" height="30"/>
<state key="normal" title="Delete Bag"/>
<rect key="frame" x="211" y="766" width="183" height="40"/>
<color key="backgroundColor" systemColor="systemGray5Color"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="hhq-ub-1yX"/>
</constraints>
<state key="normal" title="New Pocket"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="13"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="DeleteBag:" destination="BYZ-38-t0r" eventType="touchUpInside" id="w8x-ZQ-EdE"/>
<action selector="AddPocket:" destination="BYZ-38-t0r" eventType="touchUpInside" id="HPb-bK-iQx"/>
</connections>
</button>
<pickerView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="AMo-Vi-91l">
<rect key="frame" x="20" y="44" width="374" height="216"/>
<rect key="frame" x="20" y="52" width="374" height="216"/>
<color key="backgroundColor" systemColor="systemGray5Color"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="13"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</pickerView>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0P5-Xu-ynk">
<rect key="frame" x="312" y="832" width="82" height="30"/>
<state key="normal" title="New Pocket"/>
<connections>
<action selector="AddPocket:" destination="BYZ-38-t0r" eventType="touchUpInside" id="OH7-Er-AW7"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="OQn-V0-43E">
<rect key="frame" x="222" y="832" width="82" height="30"/>
<rect key="frame" x="20" y="814" width="183" height="40"/>
<color key="backgroundColor" systemColor="systemGray5Color"/>
<state key="normal" title="Search"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="13"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="SearchBags:" destination="BYZ-38-t0r" eventType="touchUpInside" id="gaw-B4-ONp"/>
</connections>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0P5-Xu-ynk">
<rect key="frame" x="211" y="814" width="183" height="40"/>
<color key="backgroundColor" systemColor="systemGray5Color"/>
<state key="normal" title="Delete Bag">
<color key="titleColor" systemColor="systemRedColor"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="13"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="DeleteBag:" destination="BYZ-38-t0r" eventType="touchUpInside" id="d3T-jy-JMB"/>
</connections>
</button>
</subviews>
<viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<color key="backgroundColor" systemColor="secondarySystemBackgroundColor"/>
<constraints>
<constraint firstItem="QJC-tE-0Q7" firstAttribute="height" secondItem="M6l-dh-v8o" secondAttribute="height" id="0Zl-dn-4fg"/>
<constraint firstItem="M6l-dh-v8o" firstAttribute="top" secondItem="JjE-3R-0dR" secondAttribute="bottom" constant="8" symbolic="YES" id="74l-a7-mPa"/>
<constraint firstItem="0P5-Xu-ynk" firstAttribute="width" secondItem="M6l-dh-v8o" secondAttribute="width" id="0ty-5Y-KUP"/>
<constraint firstItem="OQn-V0-43E" firstAttribute="bottom" secondItem="6Tk-OE-BBY" secondAttribute="bottom" constant="-8" id="4Vo-Ub-PjL"/>
<constraint firstItem="6Tk-OE-BBY" firstAttribute="trailing" secondItem="AMo-Vi-91l" secondAttribute="trailing" constant="20" id="EoX-98-9JV"/>
<constraint firstItem="M6l-dh-v8o" firstAttribute="top" secondItem="JjE-3R-0dR" secondAttribute="bottom" constant="8" symbolic="YES" id="Esc-CW-fmN"/>
<constraint firstItem="JjE-3R-0dR" firstAttribute="leading" secondItem="AMo-Vi-91l" secondAttribute="leading" id="F5p-xq-kSR"/>
<constraint firstItem="QJC-tE-0Q7" firstAttribute="leading" secondItem="M6l-dh-v8o" secondAttribute="trailing" constant="8" symbolic="YES" id="M7e-db-Z4h"/>
<constraint firstItem="M6l-dh-v8o" firstAttribute="leading" secondItem="JjE-3R-0dR" secondAttribute="leading" id="IFP-ZF-WrW"/>
<constraint firstItem="0P5-Xu-ynk" firstAttribute="trailing" secondItem="JjE-3R-0dR" secondAttribute="trailing" id="Inn-ky-24H"/>
<constraint firstItem="0P5-Xu-ynk" firstAttribute="bottom" secondItem="6Tk-OE-BBY" secondAttribute="bottom" constant="-8" id="Iv5-H0-l10"/>
<constraint firstItem="0P5-Xu-ynk" firstAttribute="top" secondItem="QJC-tE-0Q7" secondAttribute="bottom" constant="8" symbolic="YES" id="Ja9-01-75Q"/>
<constraint firstItem="QJC-tE-0Q7" firstAttribute="height" secondItem="M6l-dh-v8o" secondAttribute="height" id="OSB-Ze-Gd4"/>
<constraint firstItem="JjE-3R-0dR" firstAttribute="top" secondItem="AMo-Vi-91l" secondAttribute="bottom" constant="8" symbolic="YES" id="QLK-Xb-9vC"/>
<constraint firstItem="0P5-Xu-ynk" firstAttribute="leading" secondItem="OQn-V0-43E" secondAttribute="trailing" constant="8" symbolic="YES" id="Sq4-va-8Wk"/>
<constraint firstItem="0P5-Xu-ynk" firstAttribute="height" secondItem="M6l-dh-v8o" secondAttribute="height" id="X6V-lM-1GZ"/>
<constraint firstItem="M6l-dh-v8o" firstAttribute="leading" secondItem="AMo-Vi-91l" secondAttribute="leading" id="Yyr-4o-PkO"/>
<constraint firstItem="0P5-Xu-ynk" firstAttribute="height" secondItem="M6l-dh-v8o" secondAttribute="height" id="RDg-qD-Ulj"/>
<constraint firstItem="QJC-tE-0Q7" firstAttribute="width" secondItem="M6l-dh-v8o" secondAttribute="width" id="Rbk-WX-4Em"/>
<constraint firstItem="OQn-V0-43E" firstAttribute="leading" secondItem="JjE-3R-0dR" secondAttribute="leading" id="XcL-hY-2LG"/>
<constraint firstItem="AMo-Vi-91l" firstAttribute="leading" secondItem="6Tk-OE-BBY" secondAttribute="leading" constant="20" id="a3i-Vm-lXZ"/>
<constraint firstItem="AMo-Vi-91l" firstAttribute="top" secondItem="6Tk-OE-BBY" secondAttribute="top" id="asx-pq-33o"/>
<constraint firstItem="QJC-tE-0Q7" firstAttribute="bottom" secondItem="6Tk-OE-BBY" secondAttribute="bottom" id="cUe-et-0w3"/>
<constraint firstItem="QJC-tE-0Q7" firstAttribute="width" secondItem="M6l-dh-v8o" secondAttribute="width" id="cxo-91-hhn"/>
<constraint firstItem="OQn-V0-43E" firstAttribute="height" secondItem="M6l-dh-v8o" secondAttribute="height" id="eCn-RL-Rmd"/>
<constraint firstItem="0P5-Xu-ynk" firstAttribute="height" secondItem="M6l-dh-v8o" secondAttribute="height" id="eTI-qm-F9s"/>
<constraint firstItem="OQn-V0-43E" firstAttribute="bottom" secondItem="6Tk-OE-BBY" secondAttribute="bottom" id="hM2-FL-AGE"/>
<constraint firstItem="0P5-Xu-ynk" firstAttribute="width" secondItem="M6l-dh-v8o" secondAttribute="width" id="imH-FQ-WEJ"/>
<constraint firstItem="OQn-V0-43E" firstAttribute="width" secondItem="M6l-dh-v8o" secondAttribute="width" id="lYl-0O-kVQ"/>
<constraint firstItem="OQn-V0-43E" firstAttribute="leading" secondItem="QJC-tE-0Q7" secondAttribute="trailing" constant="30" id="mMI-e1-oqC"/>
<constraint firstItem="0P5-Xu-ynk" firstAttribute="bottom" secondItem="6Tk-OE-BBY" secondAttribute="bottom" id="oDf-ue-Cpb"/>
<constraint firstItem="M6l-dh-v8o" firstAttribute="bottom" secondItem="6Tk-OE-BBY" secondAttribute="bottom" id="oPu-fG-UsB"/>
<constraint firstItem="AMo-Vi-91l" firstAttribute="top" secondItem="6Tk-OE-BBY" secondAttribute="top" constant="8" id="asx-pq-33o"/>
<constraint firstItem="QJC-tE-0Q7" firstAttribute="top" secondItem="JjE-3R-0dR" secondAttribute="bottom" constant="8" symbolic="YES" id="bcq-Fh-oKX"/>
<constraint firstItem="OQn-V0-43E" firstAttribute="top" secondItem="M6l-dh-v8o" secondAttribute="bottom" constant="8" symbolic="YES" id="eIz-fq-7FN"/>
<constraint firstItem="QJC-tE-0Q7" firstAttribute="leading" secondItem="M6l-dh-v8o" secondAttribute="trailing" constant="8" symbolic="YES" id="gnT-ST-dDA"/>
<constraint firstItem="QJC-tE-0Q7" firstAttribute="trailing" secondItem="JjE-3R-0dR" secondAttribute="trailing" id="kxt-Kb-BzA"/>
<constraint firstItem="OQn-V0-43E" firstAttribute="height" secondItem="M6l-dh-v8o" secondAttribute="height" id="q1r-QB-qsh"/>
<constraint firstItem="OQn-V0-43E" firstAttribute="width" secondItem="M6l-dh-v8o" secondAttribute="width" id="qB6-9S-zoH"/>
<constraint firstItem="JjE-3R-0dR" firstAttribute="trailing" secondItem="AMo-Vi-91l" secondAttribute="trailing" id="w94-ew-HvL"/>
<constraint firstItem="0P5-Xu-ynk" firstAttribute="trailing" secondItem="JjE-3R-0dR" secondAttribute="trailing" id="xcT-WD-wC7"/>
</constraints>
</view>
<connections>
@ -107,7 +148,7 @@
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="43" y="58"/>
<point key="canvasLocation" x="42.028985507246382" y="57.589285714285708"/>
</scene>
<!--VC2-->
<scene sceneID="viR-SX-wRd">
@ -118,8 +159,8 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="kWs-6u-uk8">
<rect key="frame" x="20" y="121" width="374" height="649"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<rect key="frame" x="20" y="121" width="374" height="631"/>
<color key="backgroundColor" systemColor="systemGray5Color"/>
<prototypes>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="pocketitem" textLabel="8ig-wi-DGr" style="IBUITableViewCellStyleDefault" id="S51-Ss-kkR">
<rect key="frame" x="0.0" y="24.5" width="374" height="43.5"/>
@ -137,8 +178,14 @@
</label>
</subviews>
</tableViewCellContentView>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</tableViewCell>
</prototypes>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="13"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</tableView>
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="Tap to enter item name" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="3ma-jo-zcf">
<rect key="frame" x="20" y="78.5" width="290" height="34"/>
@ -165,8 +212,17 @@
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Cjd-RS-O0Z">
<rect key="frame" x="20" y="778" width="374" height="30"/>
<rect key="frame" x="20" y="760" width="374" height="40"/>
<color key="backgroundColor" systemColor="systemGray5Color"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="cYq-54-u6W"/>
</constraints>
<state key="normal" title="Dismiss"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
<integer key="value" value="13"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="DismissModal:" destination="3NQ-zC-3iZ" eventType="touchUpInside" id="sba-RD-TFW"/>
</connections>
@ -180,7 +236,7 @@
</button>
</subviews>
<viewLayoutGuide key="safeArea" id="WDZ-rS-vIS"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<color key="backgroundColor" systemColor="secondarySystemBackgroundColor"/>
<constraints>
<constraint firstItem="WDZ-rS-vIS" firstAttribute="trailing" secondItem="BTS-NM-Kjm" secondAttribute="trailing" constant="20" id="2fW-xV-m2B"/>
<constraint firstItem="IRg-Eu-D1H" firstAttribute="leading" secondItem="41C-O5-1Fi" secondAttribute="trailing" constant="8" symbolic="YES" id="82Z-TJ-zbb"/>
@ -199,7 +255,7 @@
<constraint firstItem="WDZ-rS-vIS" firstAttribute="trailing" secondItem="kWs-6u-uk8" secondAttribute="trailing" constant="20" id="eOu-F7-988"/>
<constraint firstItem="kWs-6u-uk8" firstAttribute="top" secondItem="3ma-jo-zcf" secondAttribute="bottom" constant="8.5" id="k6v-gh-7kx"/>
<constraint firstItem="41C-O5-1Fi" firstAttribute="top" secondItem="BTS-NM-Kjm" secondAttribute="bottom" constant="20" id="m6f-Mo-EjY"/>
<constraint firstItem="Cjd-RS-O0Z" firstAttribute="bottom" secondItem="WDZ-rS-vIS" secondAttribute="bottom" id="myM-BA-hJR"/>
<constraint firstItem="Cjd-RS-O0Z" firstAttribute="bottom" secondItem="WDZ-rS-vIS" secondAttribute="bottom" constant="-8" id="myM-BA-hJR"/>
<constraint firstItem="IRg-Eu-D1H" firstAttribute="trailing" secondItem="kWs-6u-uk8" secondAttribute="trailing" id="q9P-6U-bqw"/>
<constraint firstItem="41C-O5-1Fi" firstAttribute="leading" secondItem="3ma-jo-zcf" secondAttribute="trailing" constant="8" symbolic="YES" id="tJ8-PC-UMP"/>
<constraint firstItem="41C-O5-1Fi" firstAttribute="leading" secondItem="3ma-jo-zcf" secondAttribute="trailing" constant="8" symbolic="YES" id="yIA-Ko-CgP"/>
@ -219,8 +275,14 @@
<resources>
<image name="keyboard.chevron.compact.down" catalog="system" width="128" height="102"/>
<image name="plus.circle" catalog="system" width="128" height="121"/>
<systemColor name="systemBackgroundColor">
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<systemColor name="secondarySystemBackgroundColor">
<color red="0.94901960784313721" green="0.94901960784313721" blue="0.96862745098039216" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor>
<systemColor name="systemGray5Color">
<color red="0.89803921568627454" green="0.89803921568627454" blue="0.91764705882352937" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor>
<systemColor name="systemRedColor">
<color red="1" green="0.23137254901960785" blue="0.18823529411764706" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</systemColor>
</resources>
</document>

View file

@ -4,6 +4,8 @@
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>$(DEVELOPMENT_LANGUAGE)</string>
<key>CFBundleDisplayName</key>
<string>FlashBag</string>
<key>CFBundleExecutable</key>
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIdentifier</key>
@ -17,7 +19,7 @@
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<string>$(CURRENT_PROJECT_VERSION)</string>
<key>LSRequiresIPhoneOS</key>
<true/>
<key>UIApplicationSceneManifest</key>
@ -52,8 +54,6 @@
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>
<array>

View file

@ -110,13 +110,23 @@ class ViewController: UIViewController, UIDocumentPickerDelegate, UIPickerViewDa
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
bags[bagPicker.selectedRow(inComponent: 0)].pockets.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .fade)
do {
try UserDefaults.standard.setObject(bags, forKey: "bagsSavedData")
} catch {
print(error.localizedDescription)
}
let dialogMessage = UIAlertController(title: "Warning!", message: "Are you sure you want to delete this pocket?", preferredStyle: .alert)
let ok = UIAlertAction(title: "Yes", style: .destructive, handler: { (action) -> Void in
self.bags[self.bagPicker.selectedRow(inComponent: 0)].pockets.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .fade)
do {
try UserDefaults.standard.setObject(self.bags, forKey: "bagsSavedData")
} catch {
print(error.localizedDescription)
}
})
let cancel = UIAlertAction(title: "No", style: .cancel) { (action) -> Void in
print("Cancel button tapped")
}
dialogMessage.addAction(ok)
dialogMessage.addAction(cancel)
self.present(dialogMessage, animated: true, completion: nil)
}
}
@ -204,16 +214,34 @@ class ViewController: UIViewController, UIDocumentPickerDelegate, UIPickerViewDa
}
@IBAction func DeleteBag(_ sender: Any) {
if (bags.count > 0){
bags.remove(at: bagPicker.selectedRow(inComponent: 0))
bagPicker.selectRow(0, inComponent: 0, animated: true)
bagPicker.reloadAllComponents()
pocketsTable.reloadData()
do {
try UserDefaults.standard.setObject(bags, forKey: "bagsSavedData")
} catch {
print(error.localizedDescription)
}
if (self.bags.count > 0){
let dialogMessage = UIAlertController(title: "Warning!", message: "Are you sure you want to delete this bag?", preferredStyle: .alert)
// Create OK button with action handler
let ok = UIAlertAction(title: "Yes", style: .destructive, handler: { (action) -> Void in
self.bags.remove(at: self.bagPicker.selectedRow(inComponent: 0))
self.bagPicker.selectRow(0, inComponent: 0, animated: true)
self.bagPicker.reloadAllComponents()
self.pocketsTable.reloadData()
do {
try UserDefaults.standard.setObject(self.bags, forKey: "bagsSavedData")
} catch {
print(error.localizedDescription)
}
})
// Create Cancel button with action handlder
let cancel = UIAlertAction(title: "No", style: .cancel) { (action) -> Void in
print("Cancel button tapped")
}
//Add OK and Cancel button to dialog message
dialogMessage.addAction(ok)
dialogMessage.addAction(cancel)
// Present dialog message to user
self.present(dialogMessage, animated: true, completion: nil)
}
}
@ -234,7 +262,7 @@ class ViewController: UIViewController, UIDocumentPickerDelegate, UIPickerViewDa
}
searchQuery = (textField!.text ?? "Search")
var didFindMatches = "Matches found:"
var didFindMatches = "Matches found for Query [\(searchQuery)]:"
var matchesString = ""
for b in self.bags {
@ -256,7 +284,7 @@ class ViewController: UIViewController, UIDocumentPickerDelegate, UIPickerViewDa
}
if (matchesString == ""){
didFindMatches = "No Matches Found"
didFindMatches = "No Matches Found for Query [\(searchQuery)]:"
}
let matchesAlert = UIAlertController(title: didFindMatches, message: matchesString, preferredStyle: .alert)
@ -330,21 +358,31 @@ class ViewController2: UIViewController, UITableViewDataSource, UITableViewDeleg
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
if editingStyle == .delete {
let dialogMessage = UIAlertController(title: "Warning!", message: "Are you sure you want to delete this item?", preferredStyle: .alert)
let ok = UIAlertAction(title: "Yes", style: .destructive, handler: { (action) -> Void in
do {
bags = try UserDefaults.standard.getObject(forKey: "bagsSavedData", castTo: [bag].self)
print(bags)
self.bags = try UserDefaults.standard.getObject(forKey: "bagsSavedData", castTo: [bag].self)
print(self.bags)
} catch {
print(error.localizedDescription)
}
print("Delete Item: \(bags[passingValues.bag].pockets[passingValues.pocket].contents[indexPath.row])")
bags[passingValues.bag].pockets[passingValues.pocket].contents.remove(at: indexPath.row)
print("Delete Item: \(self.bags[passingValues.bag].pockets[passingValues.pocket].contents[indexPath.row])")
self.bags[passingValues.bag].pockets[passingValues.pocket].contents.remove(at: indexPath.row)
//tableView.deleteRows(at: [indexPath], with: .fade)
do {
try UserDefaults.standard.setObject(bags, forKey: "bagsSavedData")
try UserDefaults.standard.setObject(self.bags, forKey: "bagsSavedData")
} catch {
print(error.localizedDescription)
}
itemsTable.reloadData()
self.itemsTable.reloadData()
})
let cancel = UIAlertAction(title: "No", style: .cancel) { (action) -> Void in
print("Cancel button tapped")
}
dialogMessage.addAction(ok)
dialogMessage.addAction(cancel)
self.present(dialogMessage, animated: true, completion: nil)
}
}