From 1e946033c8ef5b6b788b1ad4e90f30322686214e Mon Sep 17 00:00:00 2001 From: ibrahim Date: Tue, 21 Dec 2021 22:58:15 +0300 Subject: [PATCH] ibrahim --- getimag/getimag.xcodeproj/project.pbxproj | 371 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 25748 bytes .../xcschemes/xcschememanagement.plist | 14 + getimag/getimag/AppDelegate.swift | 36 ++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 98 +++++ getimag/getimag/Assets.xcassets/Contents.json | 6 + .../Base.lproj/LaunchScreen.storyboard | 25 ++ getimag/getimag/Base.lproj/Main.storyboard | 75 ++++ getimag/getimag/DataModale.swift | 34 ++ getimag/getimag/Info.plist | 25 ++ getimag/getimag/SceneDelegate.swift | 52 +++ getimag/getimag/ViewController.swift | 76 ++++ getimag/getimag/imagTableViewCell.swift | 27 ++ 16 files changed, 865 insertions(+) create mode 100644 getimag/getimag.xcodeproj/project.pbxproj create mode 100644 getimag/getimag.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 getimag/getimag.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 getimag/getimag.xcodeproj/project.xcworkspace/xcuserdata/abrahimmohammed.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 getimag/getimag.xcodeproj/xcuserdata/abrahimmohammed.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 getimag/getimag/AppDelegate.swift create mode 100644 getimag/getimag/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 getimag/getimag/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 getimag/getimag/Assets.xcassets/Contents.json create mode 100644 getimag/getimag/Base.lproj/LaunchScreen.storyboard create mode 100644 getimag/getimag/Base.lproj/Main.storyboard create mode 100644 getimag/getimag/DataModale.swift create mode 100644 getimag/getimag/Info.plist create mode 100644 getimag/getimag/SceneDelegate.swift create mode 100644 getimag/getimag/ViewController.swift create mode 100644 getimag/getimag/imagTableViewCell.swift diff --git a/getimag/getimag.xcodeproj/project.pbxproj b/getimag/getimag.xcodeproj/project.pbxproj new file mode 100644 index 0000000..b72c29f --- /dev/null +++ b/getimag/getimag.xcodeproj/project.pbxproj @@ -0,0 +1,371 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 55; + objects = { + +/* Begin PBXBuildFile section */ + 873130122771E3FC00B7D80A /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 873130112771E3FC00B7D80A /* AppDelegate.swift */; }; + 873130142771E3FC00B7D80A /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 873130132771E3FC00B7D80A /* SceneDelegate.swift */; }; + 873130162771E3FC00B7D80A /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 873130152771E3FC00B7D80A /* ViewController.swift */; }; + 873130192771E3FC00B7D80A /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 873130172771E3FC00B7D80A /* Main.storyboard */; }; + 8731301B2771E3FE00B7D80A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 8731301A2771E3FE00B7D80A /* Assets.xcassets */; }; + 8731301E2771E3FE00B7D80A /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 8731301C2771E3FE00B7D80A /* LaunchScreen.storyboard */; }; + 873130262771E5A600B7D80A /* imagTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 873130252771E5A600B7D80A /* imagTableViewCell.swift */; }; + 873130282771E7D200B7D80A /* DataModale.swift in Sources */ = {isa = PBXBuildFile; fileRef = 873130272771E7D200B7D80A /* DataModale.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + 8731300E2771E3FC00B7D80A /* getimag.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = getimag.app; sourceTree = BUILT_PRODUCTS_DIR; }; + 873130112771E3FC00B7D80A /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + 873130132771E3FC00B7D80A /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + 873130152771E3FC00B7D80A /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 873130182771E3FC00B7D80A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + 8731301A2771E3FE00B7D80A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + 8731301D2771E3FE00B7D80A /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + 8731301F2771E3FE00B7D80A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 873130252771E5A600B7D80A /* imagTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = imagTableViewCell.swift; sourceTree = ""; }; + 873130272771E7D200B7D80A /* DataModale.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataModale.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 8731300B2771E3FC00B7D80A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 873130052771E3FC00B7D80A = { + isa = PBXGroup; + children = ( + 873130102771E3FC00B7D80A /* getimag */, + 8731300F2771E3FC00B7D80A /* Products */, + ); + sourceTree = ""; + }; + 8731300F2771E3FC00B7D80A /* Products */ = { + isa = PBXGroup; + children = ( + 8731300E2771E3FC00B7D80A /* getimag.app */, + ); + name = Products; + sourceTree = ""; + }; + 873130102771E3FC00B7D80A /* getimag */ = { + isa = PBXGroup; + children = ( + 873130112771E3FC00B7D80A /* AppDelegate.swift */, + 873130132771E3FC00B7D80A /* SceneDelegate.swift */, + 873130152771E3FC00B7D80A /* ViewController.swift */, + 873130272771E7D200B7D80A /* DataModale.swift */, + 873130252771E5A600B7D80A /* imagTableViewCell.swift */, + 873130172771E3FC00B7D80A /* Main.storyboard */, + 8731301A2771E3FE00B7D80A /* Assets.xcassets */, + 8731301C2771E3FE00B7D80A /* LaunchScreen.storyboard */, + 8731301F2771E3FE00B7D80A /* Info.plist */, + ); + path = getimag; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 8731300D2771E3FC00B7D80A /* getimag */ = { + isa = PBXNativeTarget; + buildConfigurationList = 873130222771E3FE00B7D80A /* Build configuration list for PBXNativeTarget "getimag" */; + buildPhases = ( + 8731300A2771E3FC00B7D80A /* Sources */, + 8731300B2771E3FC00B7D80A /* Frameworks */, + 8731300C2771E3FC00B7D80A /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = getimag; + productName = getimag; + productReference = 8731300E2771E3FC00B7D80A /* getimag.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 873130062771E3FC00B7D80A /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1320; + LastUpgradeCheck = 1320; + TargetAttributes = { + 8731300D2771E3FC00B7D80A = { + CreatedOnToolsVersion = 13.2; + }; + }; + }; + buildConfigurationList = 873130092771E3FC00B7D80A /* Build configuration list for PBXProject "getimag" */; + compatibilityVersion = "Xcode 13.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 873130052771E3FC00B7D80A; + productRefGroup = 8731300F2771E3FC00B7D80A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 8731300D2771E3FC00B7D80A /* getimag */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 8731300C2771E3FC00B7D80A /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 8731301E2771E3FE00B7D80A /* LaunchScreen.storyboard in Resources */, + 8731301B2771E3FE00B7D80A /* Assets.xcassets in Resources */, + 873130192771E3FC00B7D80A /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 8731300A2771E3FC00B7D80A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 873130162771E3FC00B7D80A /* ViewController.swift in Sources */, + 873130122771E3FC00B7D80A /* AppDelegate.swift in Sources */, + 873130282771E7D200B7D80A /* DataModale.swift in Sources */, + 873130142771E3FC00B7D80A /* SceneDelegate.swift in Sources */, + 873130262771E5A600B7D80A /* imagTableViewCell.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 873130172771E3FC00B7D80A /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 873130182771E3FC00B7D80A /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + 8731301C2771E3FE00B7D80A /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 8731301D2771E3FE00B7D80A /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 873130202771E3FE00B7D80A /* 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.2; + 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; + }; + 873130212771E3FE00B7D80A /* 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.2; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 873130232771E3FE00B7D80A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = getimag/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 = ios.getimag; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 873130242771E3FE00B7D80A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = getimag/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 = ios.getimag; + 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 */ + 873130092771E3FC00B7D80A /* Build configuration list for PBXProject "getimag" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 873130202771E3FE00B7D80A /* Debug */, + 873130212771E3FE00B7D80A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + 873130222771E3FE00B7D80A /* Build configuration list for PBXNativeTarget "getimag" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 873130232771E3FE00B7D80A /* Debug */, + 873130242771E3FE00B7D80A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = 873130062771E3FC00B7D80A /* Project object */; +} diff --git a/getimag/getimag.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/getimag/getimag.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/getimag/getimag.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/getimag/getimag.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/getimag/getimag.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/getimag/getimag.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/getimag/getimag.xcodeproj/project.xcworkspace/xcuserdata/abrahimmohammed.xcuserdatad/UserInterfaceState.xcuserstate b/getimag/getimag.xcodeproj/project.xcworkspace/xcuserdata/abrahimmohammed.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..cf142748630222b9639d6938ea42a4a792502735 GIT binary patch literal 25748 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 T7X_lkPl?+X{_%Y@-2DFl%?h^V literal 0 HcmV?d00001 diff --git a/getimag/getimag.xcodeproj/xcuserdata/abrahimmohammed.xcuserdatad/xcschemes/xcschememanagement.plist b/getimag/getimag.xcodeproj/xcuserdata/abrahimmohammed.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..83a9dae --- /dev/null +++ b/getimag/getimag.xcodeproj/xcuserdata/abrahimmohammed.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + getimag.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/getimag/getimag/AppDelegate.swift b/getimag/getimag/AppDelegate.swift new file mode 100644 index 0000000..78d3d1b --- /dev/null +++ b/getimag/getimag/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// getimag +// +// Created by Abrahim MOHAMMED on 21/12/2021. +// + +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/getimag/getimag/Assets.xcassets/AccentColor.colorset/Contents.json b/getimag/getimag/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/getimag/getimag/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/getimag/getimag/Assets.xcassets/AppIcon.appiconset/Contents.json b/getimag/getimag/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..9221b9b --- /dev/null +++ b/getimag/getimag/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/getimag/getimag/Assets.xcassets/Contents.json b/getimag/getimag/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/getimag/getimag/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/getimag/getimag/Base.lproj/LaunchScreen.storyboard b/getimag/getimag/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..865e932 --- /dev/null +++ b/getimag/getimag/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/getimag/getimag/Base.lproj/Main.storyboard b/getimag/getimag/Base.lproj/Main.storyboard new file mode 100644 index 0000000..6e1fff1 --- /dev/null +++ b/getimag/getimag/Base.lproj/Main.storyboard @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/getimag/getimag/DataModale.swift b/getimag/getimag/DataModale.swift new file mode 100644 index 0000000..670b29f --- /dev/null +++ b/getimag/getimag/DataModale.swift @@ -0,0 +1,34 @@ +// +// DataModale.swift +// getimag +// +// Created by Abrahim MOHAMMED on 21/12/2021. +// + +import Foundation + + +struct DataModale : Codable{ + + var title : String + + var items : [items] + +} + +struct items :Codable { + + var media : Media + + // [String: String]() + +} +struct Media: Codable { + + var m : String + + +} + + + diff --git a/getimag/getimag/Info.plist b/getimag/getimag/Info.plist new file mode 100644 index 0000000..dd3c9af --- /dev/null +++ b/getimag/getimag/Info.plist @@ -0,0 +1,25 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + + diff --git a/getimag/getimag/SceneDelegate.swift b/getimag/getimag/SceneDelegate.swift new file mode 100644 index 0000000..c7da85b --- /dev/null +++ b/getimag/getimag/SceneDelegate.swift @@ -0,0 +1,52 @@ +// +// SceneDelegate.swift +// getimag +// +// Created by Abrahim MOHAMMED on 21/12/2021. +// + +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/getimag/getimag/ViewController.swift b/getimag/getimag/ViewController.swift new file mode 100644 index 0000000..8e3ae87 --- /dev/null +++ b/getimag/getimag/ViewController.swift @@ -0,0 +1,76 @@ +// +// ViewController.swift +// getimag +// +// Created by Abrahim MOHAMMED on 21/12/2021. +// + +import UIKit + +class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { + + var arrimag: [UIImage] = [] + + + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + return arrimag.count + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + let cell = MyTableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! imagTableViewCell + cell.imageCell.image = arrimag[indexPath.row] + + return cell + + + } + + + @IBOutlet weak var MyTableView: UITableView! + + + + override func viewDidLoad() { + super.viewDidLoad() + + MyTableView.delegate = self + MyTableView.dataSource = self + + let url = URL(string: "https://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=flower&nojsoncallback=1#") + + let session = URLSession.shared + let task = session.dataTask(with: url!) { data, response, error in + guard let data = data else { + return + } + do { + let decoder = JSONDecoder() + let decodeData = try decoder.decode(DataModale.self, from: data) + + + + + print(decodeData.items) + + DispatchQueue.main.async { + decodeData.items.forEach({ Item in + let url = URL(string: Item.media.m ) + let data = try? Data(contentsOf: url!) + self.arrimag.append(UIImage(data: data!)!) + + }) + self.MyTableView.reloadData() + } + + }catch { + print(error.localizedDescription) + } + } + task.resume() + + + } + + +} + diff --git a/getimag/getimag/imagTableViewCell.swift b/getimag/getimag/imagTableViewCell.swift new file mode 100644 index 0000000..2696228 --- /dev/null +++ b/getimag/getimag/imagTableViewCell.swift @@ -0,0 +1,27 @@ +// +// imagTableViewCell.swift +// getimag +// +// Created by Abrahim MOHAMMED on 21/12/2021. +// + +import UIKit + +class imagTableViewCell: UITableViewCell { + + @IBOutlet weak var imageCell: UIImageView! + + + + override func awakeFromNib() { + super.awakeFromNib() + + } + + override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + + + } + +}