From 273ba5cec6e72211a72de20039a2a7b469003018 Mon Sep 17 00:00:00 2001 From: SahabMAlharbi Date: Wed, 22 Dec 2021 19:50:59 +0300 Subject: [PATCH] sahab --- JSONtest/JSONtest.xcodeproj/project.pbxproj | 373 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 34759 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 + .../xcschemes/xcschememanagement.plist | 14 + JSONtest/JSONtest/AppDelegate.swift | 36 ++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 98 +++++ .../JSONtest/Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 ++ JSONtest/JSONtest/Base.lproj/Main.storyboard | 71 ++++ JSONtest/JSONtest/DataModel.swift | 50 +++ JSONtest/JSONtest/Info.plist | 25 ++ JSONtest/JSONtest/SceneDelegate.swift | 52 +++ JSONtest/JSONtest/TaTableViewCell.swift | 26 ++ JSONtest/JSONtest/ViewController.swift | 88 +++++ 17 files changed, 896 insertions(+) create mode 100644 JSONtest/JSONtest.xcodeproj/project.pbxproj create mode 100644 JSONtest/JSONtest.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 JSONtest/JSONtest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 JSONtest/JSONtest.xcodeproj/project.xcworkspace/xcuserdata/sahabalharbi.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 JSONtest/JSONtest.xcodeproj/xcuserdata/sahabalharbi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 JSONtest/JSONtest.xcodeproj/xcuserdata/sahabalharbi.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 JSONtest/JSONtest/AppDelegate.swift create mode 100644 JSONtest/JSONtest/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 JSONtest/JSONtest/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 JSONtest/JSONtest/Assets.xcassets/Contents.json create mode 100644 JSONtest/JSONtest/Base.lproj/LaunchScreen.storyboard create mode 100644 JSONtest/JSONtest/Base.lproj/Main.storyboard create mode 100644 JSONtest/JSONtest/DataModel.swift create mode 100644 JSONtest/JSONtest/Info.plist create mode 100644 JSONtest/JSONtest/SceneDelegate.swift create mode 100644 JSONtest/JSONtest/TaTableViewCell.swift create mode 100644 JSONtest/JSONtest/ViewController.swift diff --git a/JSONtest/JSONtest.xcodeproj/project.pbxproj b/JSONtest/JSONtest.xcodeproj/project.pbxproj new file mode 100644 index 0000000..bece9aa --- /dev/null +++ b/JSONtest/JSONtest.xcodeproj/project.pbxproj @@ -0,0 +1,373 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 55; + objects = { + +/* Begin PBXBuildFile section */ + C6AFBCAE2771E4AA00103691 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6AFBCAD2771E4AA00103691 /* AppDelegate.swift */; }; + C6AFBCB02771E4AA00103691 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6AFBCAF2771E4AA00103691 /* SceneDelegate.swift */; }; + C6AFBCB52771E4AA00103691 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C6AFBCB32771E4AA00103691 /* Main.storyboard */; }; + C6AFBCB72771E4AC00103691 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C6AFBCB62771E4AC00103691 /* Assets.xcassets */; }; + C6AFBCBA2771E4AC00103691 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C6AFBCB82771E4AC00103691 /* LaunchScreen.storyboard */; }; + C6AFBCC22771E55A00103691 /* TaTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6AFBCC12771E55A00103691 /* TaTableViewCell.swift */; }; + C6AFBCC42771E60200103691 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6AFBCC32771E60200103691 /* ViewController.swift */; }; + C6AFBCC62771E6AB00103691 /* DataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = C6AFBCC52771E6AB00103691 /* DataModel.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + C6AFBCAA2771E4AA00103691 /* JSONtest.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JSONtest.app; sourceTree = BUILT_PRODUCTS_DIR; }; + C6AFBCAD2771E4AA00103691 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + C6AFBCAF2771E4AA00103691 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + C6AFBCB42771E4AA00103691 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + C6AFBCB62771E4AC00103691 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + C6AFBCB92771E4AC00103691 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + C6AFBCBB2771E4AC00103691 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + C6AFBCC12771E55A00103691 /* TaTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TaTableViewCell.swift; sourceTree = ""; }; + C6AFBCC32771E60200103691 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + C6AFBCC52771E6AB00103691 /* DataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataModel.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + C6AFBCA72771E4AA00103691 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + C6AFBCA12771E4AA00103691 = { + isa = PBXGroup; + children = ( + C6AFBCAC2771E4AA00103691 /* JSONtest */, + C6AFBCAB2771E4AA00103691 /* Products */, + ); + sourceTree = ""; + }; + C6AFBCAB2771E4AA00103691 /* Products */ = { + isa = PBXGroup; + children = ( + C6AFBCAA2771E4AA00103691 /* JSONtest.app */, + ); + name = Products; + sourceTree = ""; + }; + C6AFBCAC2771E4AA00103691 /* JSONtest */ = { + isa = PBXGroup; + children = ( + C6AFBCAD2771E4AA00103691 /* AppDelegate.swift */, + C6AFBCAF2771E4AA00103691 /* SceneDelegate.swift */, + C6AFBCB32771E4AA00103691 /* Main.storyboard */, + C6AFBCC32771E60200103691 /* ViewController.swift */, + C6AFBCC52771E6AB00103691 /* DataModel.swift */, + C6AFBCC12771E55A00103691 /* TaTableViewCell.swift */, + C6AFBCB62771E4AC00103691 /* Assets.xcassets */, + C6AFBCB82771E4AC00103691 /* LaunchScreen.storyboard */, + C6AFBCBB2771E4AC00103691 /* Info.plist */, + ); + path = JSONtest; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + C6AFBCA92771E4AA00103691 /* JSONtest */ = { + isa = PBXNativeTarget; + buildConfigurationList = C6AFBCBE2771E4AC00103691 /* Build configuration list for PBXNativeTarget "JSONtest" */; + buildPhases = ( + C6AFBCA62771E4AA00103691 /* Sources */, + C6AFBCA72771E4AA00103691 /* Frameworks */, + C6AFBCA82771E4AA00103691 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = JSONtest; + productName = JSONtest; + productReference = C6AFBCAA2771E4AA00103691 /* JSONtest.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + C6AFBCA22771E4AA00103691 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1300; + LastUpgradeCheck = 1300; + TargetAttributes = { + C6AFBCA92771E4AA00103691 = { + CreatedOnToolsVersion = 13.0; + }; + }; + }; + buildConfigurationList = C6AFBCA52771E4AA00103691 /* Build configuration list for PBXProject "JSONtest" */; + compatibilityVersion = "Xcode 13.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = C6AFBCA12771E4AA00103691; + productRefGroup = C6AFBCAB2771E4AA00103691 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + C6AFBCA92771E4AA00103691 /* JSONtest */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + C6AFBCA82771E4AA00103691 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C6AFBCBA2771E4AC00103691 /* LaunchScreen.storyboard in Resources */, + C6AFBCB72771E4AC00103691 /* Assets.xcassets in Resources */, + C6AFBCB52771E4AA00103691 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + C6AFBCA62771E4AA00103691 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C6AFBCC62771E6AB00103691 /* DataModel.swift in Sources */, + C6AFBCC22771E55A00103691 /* TaTableViewCell.swift in Sources */, + C6AFBCAE2771E4AA00103691 /* AppDelegate.swift in Sources */, + C6AFBCC42771E60200103691 /* ViewController.swift in Sources */, + C6AFBCB02771E4AA00103691 /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + C6AFBCB32771E4AA00103691 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + C6AFBCB42771E4AA00103691 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + C6AFBCB82771E4AC00103691 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + C6AFBCB92771E4AC00103691 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + C6AFBCBC2771E4AC00103691 /* 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++17"; + 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + 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; + 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 = 15.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + C6AFBCBD2771E4AC00103691 /* 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++17"; + 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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + 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; + 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 = 15.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + C6AFBCBF2771E4AC00103691 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = YLZ5NYW24M; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = JSONtest/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "Users-sahabalharbi.JSONtest"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + C6AFBCC02771E4AC00103691 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = YLZ5NYW24M; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = JSONtest/Info.plist; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "Users-sahabalharbi.JSONtest"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + C6AFBCA52771E4AA00103691 /* Build configuration list for PBXProject "JSONtest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C6AFBCBC2771E4AC00103691 /* Debug */, + C6AFBCBD2771E4AC00103691 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C6AFBCBE2771E4AC00103691 /* Build configuration list for PBXNativeTarget "JSONtest" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C6AFBCBF2771E4AC00103691 /* Debug */, + C6AFBCC02771E4AC00103691 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = C6AFBCA22771E4AA00103691 /* Project object */; +} diff --git a/JSONtest/JSONtest.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/JSONtest/JSONtest.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/JSONtest/JSONtest.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/JSONtest/JSONtest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/JSONtest/JSONtest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/JSONtest/JSONtest.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/JSONtest/JSONtest.xcodeproj/project.xcworkspace/xcuserdata/sahabalharbi.xcuserdatad/UserInterfaceState.xcuserstate b/JSONtest/JSONtest.xcodeproj/project.xcworkspace/xcuserdata/sahabalharbi.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..0d958def465c8fb442ed737f8b5f638ed865788e GIT binary patch literal 34759 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 literal 0 HcmV?d00001 diff --git a/JSONtest/JSONtest.xcodeproj/xcuserdata/sahabalharbi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/JSONtest/JSONtest.xcodeproj/xcuserdata/sahabalharbi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..ea99f20 --- /dev/null +++ b/JSONtest/JSONtest.xcodeproj/xcuserdata/sahabalharbi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,6 @@ + + + diff --git a/JSONtest/JSONtest.xcodeproj/xcuserdata/sahabalharbi.xcuserdatad/xcschemes/xcschememanagement.plist b/JSONtest/JSONtest.xcodeproj/xcuserdata/sahabalharbi.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..5f6eb32 --- /dev/null +++ b/JSONtest/JSONtest.xcodeproj/xcuserdata/sahabalharbi.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + JSONtest.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/JSONtest/JSONtest/AppDelegate.swift b/JSONtest/JSONtest/AppDelegate.swift new file mode 100644 index 0000000..9053617 --- /dev/null +++ b/JSONtest/JSONtest/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// JSONtest +// +// Created by Sahab Alharbi on 17/05/1443 AH. +// + +import UIKit + +@main +class AppDelegate: UIResponder, UIApplicationDelegate { + + + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + // Override point for customization after application launch. + return true + } + + // MARK: UISceneSession Lifecycle + + func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { + // Called when a new scene session is being created. + // Use this method to select a configuration to create the new scene with. + return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) + } + + func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { + // Called when the user discards a scene session. + // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. + // Use this method to release any resources that were specific to the discarded scenes, as they will not return. + } + + +} + diff --git a/JSONtest/JSONtest/Assets.xcassets/AccentColor.colorset/Contents.json b/JSONtest/JSONtest/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/JSONtest/JSONtest/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/JSONtest/JSONtest/Assets.xcassets/AppIcon.appiconset/Contents.json b/JSONtest/JSONtest/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..9221b9b --- /dev/null +++ b/JSONtest/JSONtest/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,98 @@ +{ + "images" : [ + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "20x20" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "29x29" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "40x40" + }, + { + "idiom" : "iphone", + "scale" : "2x", + "size" : "60x60" + }, + { + "idiom" : "iphone", + "scale" : "3x", + "size" : "60x60" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" + }, + { + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "76x76" + }, + { + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/JSONtest/JSONtest/Assets.xcassets/Contents.json b/JSONtest/JSONtest/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/JSONtest/JSONtest/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/JSONtest/JSONtest/Base.lproj/LaunchScreen.storyboard b/JSONtest/JSONtest/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..865e932 --- /dev/null +++ b/JSONtest/JSONtest/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JSONtest/JSONtest/Base.lproj/Main.storyboard b/JSONtest/JSONtest/Base.lproj/Main.storyboard new file mode 100644 index 0000000..b27d218 --- /dev/null +++ b/JSONtest/JSONtest/Base.lproj/Main.storyboard @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/JSONtest/JSONtest/DataModel.swift b/JSONtest/JSONtest/DataModel.swift new file mode 100644 index 0000000..eb39ea8 --- /dev/null +++ b/JSONtest/JSONtest/DataModel.swift @@ -0,0 +1,50 @@ +// +// DataModel.swift +// JSONtest +// +// Created by Sahab Alharbi on 17/05/1443 AH. +// + + +import Foundation + +// MARK: - DataModel +struct DataModel: Codable { + let title: String +// let link: String +// let dataModelDescription: String +// let modified: Date +// let generator: String + let items: [Item] + +// enum CodingKeys: String, CodingKey { +// case title +// case dataModelDescription = "description" +// case items +// } +} + +// MARK: - Item +struct Item: Codable { + let title: String +// let link: String + let media: Media +// let dateTaken: Date +// let itemDescription: String +// let published: Date +// let author, authorID, tags: String + +// enum CodingKeys: String, CodingKey { +// case title, media +// case dateTaken = "date_taken" +// case itemDescription = "description" +// case published, author +// case authorID = "author_id" +// case tags +// } +} + +// MARK: - Media +struct Media: Codable { + let m: String +} diff --git a/JSONtest/JSONtest/Info.plist b/JSONtest/JSONtest/Info.plist new file mode 100644 index 0000000..dd3c9af --- /dev/null +++ b/JSONtest/JSONtest/Info.plist @@ -0,0 +1,25 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + + diff --git a/JSONtest/JSONtest/SceneDelegate.swift b/JSONtest/JSONtest/SceneDelegate.swift new file mode 100644 index 0000000..9b75101 --- /dev/null +++ b/JSONtest/JSONtest/SceneDelegate.swift @@ -0,0 +1,52 @@ +// +// SceneDelegate.swift +// JSONtest +// +// Created by Sahab Alharbi on 17/05/1443 AH. +// + +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + + var window: UIWindow? + + + func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { + // Use this method to optionally configure and attach the UIWindow `window` to the provided UIWindowScene `scene`. + // If using a storyboard, the `window` property will automatically be initialized and attached to the scene. + // This delegate does not imply the connecting scene or session are new (see `application:configurationForConnectingSceneSession` instead). + guard let _ = (scene as? UIWindowScene) else { return } + } + + func sceneDidDisconnect(_ scene: UIScene) { + // Called as the scene is being released by the system. + // This occurs shortly after the scene enters the background, or when its session is discarded. + // Release any resources associated with this scene that can be re-created the next time the scene connects. + // The scene may re-connect later, as its session was not necessarily discarded (see `application:didDiscardSceneSessions` instead). + } + + func sceneDidBecomeActive(_ scene: UIScene) { + // Called when the scene has moved from an inactive state to an active state. + // Use this method to restart any tasks that were paused (or not yet started) when the scene was inactive. + } + + func sceneWillResignActive(_ scene: UIScene) { + // Called when the scene will move from an active state to an inactive state. + // This may occur due to temporary interruptions (ex. an incoming phone call). + } + + func sceneWillEnterForeground(_ scene: UIScene) { + // Called as the scene transitions from the background to the foreground. + // Use this method to undo the changes made on entering the background. + } + + func sceneDidEnterBackground(_ scene: UIScene) { + // Called as the scene transitions from the foreground to the background. + // Use this method to save data, release shared resources, and store enough scene-specific state information + // to restore the scene back to its current state. + } + + +} + diff --git a/JSONtest/JSONtest/TaTableViewCell.swift b/JSONtest/JSONtest/TaTableViewCell.swift new file mode 100644 index 0000000..57d1471 --- /dev/null +++ b/JSONtest/JSONtest/TaTableViewCell.swift @@ -0,0 +1,26 @@ +// +// TaTableViewCell.swift +// JSONtest +// +// Created by Sahab Alharbi on 17/05/1443 AH. +// + +import UIKit + +class TaTableViewCell: UITableViewCell { + +// @IBOutlet weak var titlee: UILabel! + @IBOutlet weak var imagee : UIImageView! + + override func awakeFromNib() { + super.awakeFromNib() + // Initialization code + } + + override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + + // Configure the view for the selected state + } + +} diff --git a/JSONtest/JSONtest/ViewController.swift b/JSONtest/JSONtest/ViewController.swift new file mode 100644 index 0000000..2185067 --- /dev/null +++ b/JSONtest/JSONtest/ViewController.swift @@ -0,0 +1,88 @@ +// +// ViewController.swift +// JSONtest +// +// Created by Sahab Alharbi on 17/05/1443 AH. +// + +import UIKit + +class ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + self.imageData.count + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = tableView.dequeueReusableCell(withIdentifier: "cell") as! TaTableViewCell + + cell.imagee.image = imageData[indexPath.row] + return cell + } + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + return 340 + } + + + let url = URL(string: "https://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=flower&nojsoncallback=1#") + + + + var imageData : [UIImage] = [] + + @IBOutlet weak var imageTV: UITableView! + + override func viewDidLoad() { + super.viewDidLoad() + + imageTV.dataSource = self + imageTV.delegate = self + getData() + + } + func getData() { + + URLSession.shared.dataTask(with: url!) { data, response, error in + guard let data = data else { + return + } + do { + let decoder = JSONDecoder() + let decoderData = try decoder.decode(DataModel.self, from: data) + print(decoderData.items) + decoderData.items.forEach { item in + let imge = item.media.m + let image = self.getImage(from: imge) + self.imageData.append(image!) + } + DispatchQueue.main.async { + + self.imageTV.reloadData() + } + + } catch { + print(error.localizedDescription) + } + + }.resume() + + } + + func getImage(from string: String) -> UIImage? { + guard let url = URL(string: string) + else { + print("Something Wrong") + return nil + } + + var image: UIImage? = nil + do { + let data = try Data(contentsOf: url, options: []) + image = UIImage(data: data) + } + catch { + print(error.localizedDescription) + } + + return image + } +}