From d26973af7a22cf38a4facab31204886d91c43e40 Mon Sep 17 00:00:00 2001 From: LolaHadi Date: Wed, 22 Dec 2021 23:07:00 +0300 Subject: [PATCH 1/2] Lola --- FlickerApp.xcodeproj/project.pbxproj | 375 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/IDEWorkspaceChecks.plist | 8 + .../UserInterfaceState.xcuserstate | Bin 0 -> 24015 bytes .../xcschemes/xcschememanagement.plist | 14 + FlickerApp/AppDelegate.swift | 36 ++ .../AccentColor.colorset/Contents.json | 11 + .../AppIcon.appiconset/Contents.json | 98 +++++ FlickerApp/Assets.xcassets/Contents.json | 6 + FlickerApp/Base.lproj/LaunchScreen.storyboard | 25 ++ FlickerApp/Base.lproj/Main.storyboard | 94 +++++ FlickerApp/DataModel.swift | 25 ++ FlickerApp/Info.plist | 25 ++ FlickerApp/MyTableViewCell.swift | 22 + FlickerApp/SceneDelegate.swift | 52 +++ FlickerApp/ViewController.swift | 91 +++++ FlickerApp/ViewController2.swift | 80 ++++ 17 files changed, 969 insertions(+) create mode 100644 FlickerApp.xcodeproj/project.pbxproj create mode 100644 FlickerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 FlickerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist create mode 100644 FlickerApp.xcodeproj/project.xcworkspace/xcuserdata/Lola.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 FlickerApp.xcodeproj/xcuserdata/Lola.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 FlickerApp/AppDelegate.swift create mode 100644 FlickerApp/Assets.xcassets/AccentColor.colorset/Contents.json create mode 100644 FlickerApp/Assets.xcassets/AppIcon.appiconset/Contents.json create mode 100644 FlickerApp/Assets.xcassets/Contents.json create mode 100644 FlickerApp/Base.lproj/LaunchScreen.storyboard create mode 100644 FlickerApp/Base.lproj/Main.storyboard create mode 100644 FlickerApp/DataModel.swift create mode 100644 FlickerApp/Info.plist create mode 100644 FlickerApp/MyTableViewCell.swift create mode 100644 FlickerApp/SceneDelegate.swift create mode 100644 FlickerApp/ViewController.swift create mode 100644 FlickerApp/ViewController2.swift diff --git a/FlickerApp.xcodeproj/project.pbxproj b/FlickerApp.xcodeproj/project.pbxproj new file mode 100644 index 0000000..905f44b --- /dev/null +++ b/FlickerApp.xcodeproj/project.pbxproj @@ -0,0 +1,375 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 55; + objects = { + +/* Begin PBXBuildFile section */ + E614E5DC2771E3F500807506 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614E5DB2771E3F500807506 /* AppDelegate.swift */; }; + E614E5DE2771E3F500807506 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614E5DD2771E3F500807506 /* SceneDelegate.swift */; }; + E614E5E02771E3F500807506 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614E5DF2771E3F500807506 /* ViewController.swift */; }; + E614E5E32771E3F500807506 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E614E5E12771E3F500807506 /* Main.storyboard */; }; + E614E5E52771E3F600807506 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E614E5E42771E3F600807506 /* Assets.xcassets */; }; + E614E5E82771E3F600807506 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E614E5E62771E3F600807506 /* LaunchScreen.storyboard */; }; + E614E5F02771E45900807506 /* MyTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614E5EF2771E45900807506 /* MyTableViewCell.swift */; }; + E614E5F22771EEB500807506 /* ViewController2.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614E5F12771EEB500807506 /* ViewController2.swift */; }; + E6E3878E2773B6FD00188E15 /* DataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6E3878D2773B6FD00188E15 /* DataModel.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXFileReference section */ + E614E5D82771E3F500807506 /* FlickerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FlickerApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; + E614E5DB2771E3F500807506 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + E614E5DD2771E3F500807506 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + E614E5DF2771E3F500807506 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + E614E5E22771E3F500807506 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + E614E5E42771E3F600807506 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + E614E5E72771E3F600807506 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + E614E5E92771E3F600807506 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + E614E5EF2771E45900807506 /* MyTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyTableViewCell.swift; sourceTree = ""; }; + E614E5F12771EEB500807506 /* ViewController2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController2.swift; sourceTree = ""; }; + E6E3878D2773B6FD00188E15 /* DataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataModel.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + E614E5D52771E3F500807506 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + E614E5CF2771E3F500807506 = { + isa = PBXGroup; + children = ( + E614E5DA2771E3F500807506 /* FlickerApp */, + E614E5D92771E3F500807506 /* Products */, + ); + sourceTree = ""; + }; + E614E5D92771E3F500807506 /* Products */ = { + isa = PBXGroup; + children = ( + E614E5D82771E3F500807506 /* FlickerApp.app */, + ); + name = Products; + sourceTree = ""; + }; + E614E5DA2771E3F500807506 /* FlickerApp */ = { + isa = PBXGroup; + children = ( + E614E5DB2771E3F500807506 /* AppDelegate.swift */, + E614E5DD2771E3F500807506 /* SceneDelegate.swift */, + E614E5DF2771E3F500807506 /* ViewController.swift */, + E614E5EF2771E45900807506 /* MyTableViewCell.swift */, + E614E5E12771E3F500807506 /* Main.storyboard */, + E614E5E42771E3F600807506 /* Assets.xcassets */, + E614E5E62771E3F600807506 /* LaunchScreen.storyboard */, + E614E5E92771E3F600807506 /* Info.plist */, + E614E5F12771EEB500807506 /* ViewController2.swift */, + E6E3878D2773B6FD00188E15 /* DataModel.swift */, + ); + path = FlickerApp; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + E614E5D72771E3F500807506 /* FlickerApp */ = { + isa = PBXNativeTarget; + buildConfigurationList = E614E5EC2771E3F600807506 /* Build configuration list for PBXNativeTarget "FlickerApp" */; + buildPhases = ( + E614E5D42771E3F500807506 /* Sources */, + E614E5D52771E3F500807506 /* Frameworks */, + E614E5D62771E3F500807506 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = FlickerApp; + productName = FlickerApp; + productReference = E614E5D82771E3F500807506 /* FlickerApp.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + E614E5D02771E3F500807506 /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1300; + LastUpgradeCheck = 1300; + TargetAttributes = { + E614E5D72771E3F500807506 = { + CreatedOnToolsVersion = 13.0; + }; + }; + }; + buildConfigurationList = E614E5D32771E3F500807506 /* Build configuration list for PBXProject "FlickerApp" */; + compatibilityVersion = "Xcode 13.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = E614E5CF2771E3F500807506; + productRefGroup = E614E5D92771E3F500807506 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + E614E5D72771E3F500807506 /* FlickerApp */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + E614E5D62771E3F500807506 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E614E5E82771E3F600807506 /* LaunchScreen.storyboard in Resources */, + E614E5E52771E3F600807506 /* Assets.xcassets in Resources */, + E614E5E32771E3F500807506 /* Main.storyboard in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + E614E5D42771E3F500807506 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + E614E5F22771EEB500807506 /* ViewController2.swift in Sources */, + E614E5E02771E3F500807506 /* ViewController.swift in Sources */, + E614E5F02771E45900807506 /* MyTableViewCell.swift in Sources */, + E614E5DC2771E3F500807506 /* AppDelegate.swift in Sources */, + E614E5DE2771E3F500807506 /* SceneDelegate.swift in Sources */, + E6E3878E2773B6FD00188E15 /* DataModel.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + E614E5E12771E3F500807506 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + E614E5E22771E3F500807506 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + E614E5E62771E3F600807506 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + E614E5E72771E3F600807506 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + E614E5EA2771E3F600807506 /* 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; + }; + E614E5EB2771E3F600807506 /* 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; + }; + E614E5ED2771E3F600807506 /* 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 = FlickerApp/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 = lola.t1000.FlickerApp; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + E614E5EE2771E3F600807506 /* 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 = FlickerApp/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 = lola.t1000.FlickerApp; + 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 */ + E614E5D32771E3F500807506 /* Build configuration list for PBXProject "FlickerApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E614E5EA2771E3F600807506 /* Debug */, + E614E5EB2771E3F600807506 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + E614E5EC2771E3F600807506 /* Build configuration list for PBXNativeTarget "FlickerApp" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + E614E5ED2771E3F600807506 /* Debug */, + E614E5EE2771E3F600807506 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = E614E5D02771E3F500807506 /* Project object */; +} diff --git a/FlickerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/FlickerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/FlickerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/FlickerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/FlickerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/FlickerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/FlickerApp.xcodeproj/project.xcworkspace/xcuserdata/Lola.xcuserdatad/UserInterfaceState.xcuserstate b/FlickerApp.xcodeproj/project.xcworkspace/xcuserdata/Lola.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..67157b9de6e8c0fcbce8b6b597d664877a3f8145 GIT binary patch literal 24015 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 I{xn4YKfRS>00000 literal 0 HcmV?d00001 diff --git a/FlickerApp.xcodeproj/xcuserdata/Lola.xcuserdatad/xcschemes/xcschememanagement.plist b/FlickerApp.xcodeproj/xcuserdata/Lola.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..dc9903f --- /dev/null +++ b/FlickerApp.xcodeproj/xcuserdata/Lola.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + FlickerApp.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/FlickerApp/AppDelegate.swift b/FlickerApp/AppDelegate.swift new file mode 100644 index 0000000..cc40fcb --- /dev/null +++ b/FlickerApp/AppDelegate.swift @@ -0,0 +1,36 @@ +// +// AppDelegate.swift +// FlickerApp +// +// Created by Lola M on 12/21/21. +// + +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/FlickerApp/Assets.xcassets/AccentColor.colorset/Contents.json b/FlickerApp/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 0000000..eb87897 --- /dev/null +++ b/FlickerApp/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/FlickerApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/FlickerApp/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..9221b9b --- /dev/null +++ b/FlickerApp/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/FlickerApp/Assets.xcassets/Contents.json b/FlickerApp/Assets.xcassets/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/FlickerApp/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/FlickerApp/Base.lproj/LaunchScreen.storyboard b/FlickerApp/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 0000000..865e932 --- /dev/null +++ b/FlickerApp/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FlickerApp/Base.lproj/Main.storyboard b/FlickerApp/Base.lproj/Main.storyboard new file mode 100644 index 0000000..de0bef1 --- /dev/null +++ b/FlickerApp/Base.lproj/Main.storyboard @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FlickerApp/DataModel.swift b/FlickerApp/DataModel.swift new file mode 100644 index 0000000..713b307 --- /dev/null +++ b/FlickerApp/DataModel.swift @@ -0,0 +1,25 @@ +// +// DataModel.swift +// FlickerApp +// +// Created by Lola M on 12/22/21. +// + +import UIKit + + +struct MyDataModel: Codable { + var title: String + var link: String + var items: [Items] +} + +struct Items: Codable { + var title: String + var link: String + var media: Media +} + +struct Media: Codable { + var m: String +} diff --git a/FlickerApp/Info.plist b/FlickerApp/Info.plist new file mode 100644 index 0000000..dd3c9af --- /dev/null +++ b/FlickerApp/Info.plist @@ -0,0 +1,25 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + + diff --git a/FlickerApp/MyTableViewCell.swift b/FlickerApp/MyTableViewCell.swift new file mode 100644 index 0000000..4a06a0a --- /dev/null +++ b/FlickerApp/MyTableViewCell.swift @@ -0,0 +1,22 @@ +// +// MyTableViewCell.swift +// FlickerApp +// +// Created by Lola M on 12/21/21. +// + +import UIKit + +class MyTableViewCell: UITableViewCell { + + @IBOutlet weak var myImageView: UIImageView! + + override func awakeFromNib() { + super.awakeFromNib() + } + + override func setSelected(_ selected: Bool, animated: Bool) { + super.setSelected(selected, animated: animated) + } + +} diff --git a/FlickerApp/SceneDelegate.swift b/FlickerApp/SceneDelegate.swift new file mode 100644 index 0000000..97d16b4 --- /dev/null +++ b/FlickerApp/SceneDelegate.swift @@ -0,0 +1,52 @@ +// +// SceneDelegate.swift +// FlickerApp +// +// Created by Lola M on 12/21/21. +// + +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/FlickerApp/ViewController.swift b/FlickerApp/ViewController.swift new file mode 100644 index 0000000..73cab84 --- /dev/null +++ b/FlickerApp/ViewController.swift @@ -0,0 +1,91 @@ +// +// ViewController.swift +// FlickerApp +// +// Created by Lola M on 12/21/21. +// + +import UIKit + +typealias customType = (title: String, image: String, date_taken: String ) + +class ViewController: UIViewController { + //.. + var arrOfMedia = [Media]() + //.. + var imagesUrls: [String] = [] + var myModelArray: [customType] = [] + + @IBOutlet weak var myTableView: UITableView! + + override func viewDidLoad() { + super.viewDidLoad() + myTableView.delegate = self + myTableView.dataSource = self + myTableView.backgroundColor = .red + + setup() + } + + + func setup() { + + let session = URLSession.shared + let url = URL(string: "https://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=flower&nojsoncallback=1#") + let task = session.dataTask(with: url!) { data, response, error in + guard let jsonData = data else { return } + + do { + let decoder = JSONDecoder() + let decoderData = try decoder.decode(myModelArray.self, from: jsonData) + print(decoderData.title) + + self.myModelArray.removeAll() + decoderData.items.forEach { item in + let title = item.title + let date_taken = item.date_taken + let newImage = item.media.m + + let thisModel: customType = (title: title, image: newImage, date_taken: date_taken) + self.myModelArray.append(thisModel) + } + + DispatchQueue.main.async{ + self.myTableView.reloadData() + } + + } catch { + print(error) + } + } + task.resume() + } + +} + +extension ViewController: UITableViewDelegate, UITableViewDataSource { + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + 100 + } + + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + + let cell = myTableView.dequeueReusableCell(withIdentifier: "myCell") as! MyTableViewCell + let thisItem = self.myModelArray[indexPath.row] + let url = URL(string: thisItem.image)! + + do { + let data = try Data(contentsOf: url) + cell.imageView!.image = UIImage(data: data) + } catch { + print(error) + } + return cell + } + + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + 400 + } + + +} diff --git a/FlickerApp/ViewController2.swift b/FlickerApp/ViewController2.swift new file mode 100644 index 0000000..7e304c6 --- /dev/null +++ b/FlickerApp/ViewController2.swift @@ -0,0 +1,80 @@ +// +// ViewController2.swift +// FlickerApp +// +// Created by Lola M on 12/21/21. +// +// +import UIKit + +class ViewController2: UIViewController { + + var arrOfMedia = [Media]() + + @IBOutlet weak var myImageView2: UIImageView! + + override func viewDidLoad() { + super.viewDidLoad() + + setup() + let myImage = imageFromUrl(urlString: "https://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=flower&nojsoncallback=1#") + + } + + + func setup() { + + let config = URLSessionConfiguration.default + let session = URLSession(configuration: config) + if let url = NSURL(string: "https://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=flower&nojsoncallback=1#"){ + + let task = session.dataTask(with: url as URL, completionHandler: {data, response, error in + + if let err = error { + print("Error: \(err)") + return + } + + if let http = response as? HTTPURLResponse { + if http.statusCode == 200 { + let downloadedImage = UIImage(data: data!) + DispatchQueue.main.async { + self.myImageView2.image = downloadedImage + } + } + } + }) + task.resume() + } + } + + func imageFromUrl(urlString: String) { + if let url = URL(string: urlString) { + let task = URLSession.shared.dataTask(with: url) { data, response, error in + guard let data = data, error == nil else { return } + DispatchQueue.main.async() { + self.myImageView2.image = UIImage(data: data) + } + } + task.resume() + } + } + + + + struct MyDataModel: Codable { + var title: String + var link: String + var items: [Items] + } + struct Items: Codable { + var title: String + var link: String + var media: Media + } + struct Media: Codable { + var m: String + } + +} + From 3e6f878031cbaccb81b0b583192b086d965eb308 Mon Sep 17 00:00:00 2001 From: LolaHadi Date: Thu, 23 Dec 2021 00:03:08 +0300 Subject: [PATCH 2/2] Lola --- .../FlickerApp.xcodeproj}/project.pbxproj | 12 +-- .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../UserInterfaceState.xcuserstate | Bin 0 -> 45505 bytes .../UserInterfaceState.xcuserstate | Bin 0 -> 27745 bytes .../xcschemes/xcschememanagement.plist | 0 .../xcdebugger/Breakpoints_v2.xcbkptlist | 6 ++ .../xcschemes/xcschememanagement.plist | 14 +++ .../FlickerApp}/AppDelegate.swift | 0 .../AccentColor.colorset/Contents.json | 0 .../AppIcon.appiconset/Contents.json | 0 .../FlickerApp}/Assets.xcassets/Contents.json | 0 .../Base.lproj/LaunchScreen.storyboard | 0 .../FlickerApp/Base.lproj/Main.storyboard | 72 ++++++++++++++ .../FlickerApp}/Info.plist | 0 FlickerApp 2/FlickerApp/MyModel.swift | 23 +++++ .../FlickerApp}/MyTableViewCell.swift | 1 + .../FlickerApp}/SceneDelegate.swift | 0 .../FlickerApp}/ViewController.swift | 26 ++--- .../UserInterfaceState.xcuserstate | Bin 24015 -> 0 bytes FlickerApp/Base.lproj/Main.storyboard | 94 ------------------ FlickerApp/DataModel.swift | 25 ----- FlickerApp/ViewController2.swift | 80 --------------- README.md | 2 - 24 files changed, 130 insertions(+), 225 deletions(-) rename {FlickerApp.xcodeproj => FlickerApp 2/FlickerApp.xcodeproj}/project.pbxproj (94%) rename {FlickerApp.xcodeproj => FlickerApp 2/FlickerApp.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) rename {FlickerApp.xcodeproj => FlickerApp 2/FlickerApp.xcodeproj}/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) create mode 100644 FlickerApp 2/FlickerApp.xcodeproj/project.xcworkspace/xcuserdata/Lola.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 FlickerApp 2/FlickerApp.xcodeproj/project.xcworkspace/xcuserdata/haseebjaved.xcuserdatad/UserInterfaceState.xcuserstate rename {FlickerApp.xcodeproj => FlickerApp 2/FlickerApp.xcodeproj}/xcuserdata/Lola.xcuserdatad/xcschemes/xcschememanagement.plist (100%) create mode 100644 FlickerApp 2/FlickerApp.xcodeproj/xcuserdata/haseebjaved.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist create mode 100644 FlickerApp 2/FlickerApp.xcodeproj/xcuserdata/haseebjaved.xcuserdatad/xcschemes/xcschememanagement.plist rename {FlickerApp => FlickerApp 2/FlickerApp}/AppDelegate.swift (100%) rename {FlickerApp => FlickerApp 2/FlickerApp}/Assets.xcassets/AccentColor.colorset/Contents.json (100%) rename {FlickerApp => FlickerApp 2/FlickerApp}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename {FlickerApp => FlickerApp 2/FlickerApp}/Assets.xcassets/Contents.json (100%) rename {FlickerApp => FlickerApp 2/FlickerApp}/Base.lproj/LaunchScreen.storyboard (100%) create mode 100644 FlickerApp 2/FlickerApp/Base.lproj/Main.storyboard rename {FlickerApp => FlickerApp 2/FlickerApp}/Info.plist (100%) create mode 100644 FlickerApp 2/FlickerApp/MyModel.swift rename {FlickerApp => FlickerApp 2/FlickerApp}/MyTableViewCell.swift (87%) rename {FlickerApp => FlickerApp 2/FlickerApp}/SceneDelegate.swift (100%) rename {FlickerApp => FlickerApp 2/FlickerApp}/ViewController.swift (72%) delete mode 100644 FlickerApp.xcodeproj/project.xcworkspace/xcuserdata/Lola.xcuserdatad/UserInterfaceState.xcuserstate delete mode 100644 FlickerApp/Base.lproj/Main.storyboard delete mode 100644 FlickerApp/DataModel.swift delete mode 100644 FlickerApp/ViewController2.swift delete mode 100644 README.md diff --git a/FlickerApp.xcodeproj/project.pbxproj b/FlickerApp 2/FlickerApp.xcodeproj/project.pbxproj similarity index 94% rename from FlickerApp.xcodeproj/project.pbxproj rename to FlickerApp 2/FlickerApp.xcodeproj/project.pbxproj index 905f44b..1554509 100644 --- a/FlickerApp.xcodeproj/project.pbxproj +++ b/FlickerApp 2/FlickerApp.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + D4C2DA5F2773B92E0043D069 /* MyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = D4C2DA5E2773B92E0043D069 /* MyModel.swift */; }; E614E5DC2771E3F500807506 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614E5DB2771E3F500807506 /* AppDelegate.swift */; }; E614E5DE2771E3F500807506 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614E5DD2771E3F500807506 /* SceneDelegate.swift */; }; E614E5E02771E3F500807506 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614E5DF2771E3F500807506 /* ViewController.swift */; }; @@ -14,11 +15,10 @@ E614E5E52771E3F600807506 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E614E5E42771E3F600807506 /* Assets.xcassets */; }; E614E5E82771E3F600807506 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E614E5E62771E3F600807506 /* LaunchScreen.storyboard */; }; E614E5F02771E45900807506 /* MyTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614E5EF2771E45900807506 /* MyTableViewCell.swift */; }; - E614E5F22771EEB500807506 /* ViewController2.swift in Sources */ = {isa = PBXBuildFile; fileRef = E614E5F12771EEB500807506 /* ViewController2.swift */; }; - E6E3878E2773B6FD00188E15 /* DataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6E3878D2773B6FD00188E15 /* DataModel.swift */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + D4C2DA5E2773B92E0043D069 /* MyModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyModel.swift; sourceTree = ""; }; E614E5D82771E3F500807506 /* FlickerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FlickerApp.app; sourceTree = BUILT_PRODUCTS_DIR; }; E614E5DB2771E3F500807506 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; E614E5DD2771E3F500807506 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; @@ -28,8 +28,6 @@ E614E5E72771E3F600807506 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; E614E5E92771E3F600807506 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; E614E5EF2771E45900807506 /* MyTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MyTableViewCell.swift; sourceTree = ""; }; - E614E5F12771EEB500807506 /* ViewController2.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController2.swift; sourceTree = ""; }; - E6E3878D2773B6FD00188E15 /* DataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DataModel.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -66,12 +64,11 @@ E614E5DD2771E3F500807506 /* SceneDelegate.swift */, E614E5DF2771E3F500807506 /* ViewController.swift */, E614E5EF2771E45900807506 /* MyTableViewCell.swift */, + D4C2DA5E2773B92E0043D069 /* MyModel.swift */, E614E5E12771E3F500807506 /* Main.storyboard */, E614E5E42771E3F600807506 /* Assets.xcassets */, E614E5E62771E3F600807506 /* LaunchScreen.storyboard */, E614E5E92771E3F600807506 /* Info.plist */, - E614E5F12771EEB500807506 /* ViewController2.swift */, - E6E3878D2773B6FD00188E15 /* DataModel.swift */, ); path = FlickerApp; sourceTree = ""; @@ -147,12 +144,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - E614E5F22771EEB500807506 /* ViewController2.swift in Sources */, + D4C2DA5F2773B92E0043D069 /* MyModel.swift in Sources */, E614E5E02771E3F500807506 /* ViewController.swift in Sources */, E614E5F02771E45900807506 /* MyTableViewCell.swift in Sources */, E614E5DC2771E3F500807506 /* AppDelegate.swift in Sources */, E614E5DE2771E3F500807506 /* SceneDelegate.swift in Sources */, - E6E3878E2773B6FD00188E15 /* DataModel.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/FlickerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/FlickerApp 2/FlickerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from FlickerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to FlickerApp 2/FlickerApp.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/FlickerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/FlickerApp 2/FlickerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from FlickerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to FlickerApp 2/FlickerApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/FlickerApp 2/FlickerApp.xcodeproj/project.xcworkspace/xcuserdata/Lola.xcuserdatad/UserInterfaceState.xcuserstate b/FlickerApp 2/FlickerApp.xcodeproj/project.xcworkspace/xcuserdata/Lola.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..6fdde3e4bd3ba14a9e8f33a72f1ba4660b9390cb GIT binary patch literal 45505 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 PhkqD-?;rj@%WD1y&Ma99 literal 0 HcmV?d00001 diff --git a/FlickerApp 2/FlickerApp.xcodeproj/project.xcworkspace/xcuserdata/haseebjaved.xcuserdatad/UserInterfaceState.xcuserstate b/FlickerApp 2/FlickerApp.xcodeproj/project.xcworkspace/xcuserdata/haseebjaved.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..0b0f2355572400488a9f35e2227b18d3697b40c7 GIT binary patch literal 27745 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 + + diff --git a/FlickerApp 2/FlickerApp.xcodeproj/xcuserdata/haseebjaved.xcuserdatad/xcschemes/xcschememanagement.plist b/FlickerApp 2/FlickerApp.xcodeproj/xcuserdata/haseebjaved.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..dc9903f --- /dev/null +++ b/FlickerApp 2/FlickerApp.xcodeproj/xcuserdata/haseebjaved.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + FlickerApp.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/FlickerApp/AppDelegate.swift b/FlickerApp 2/FlickerApp/AppDelegate.swift similarity index 100% rename from FlickerApp/AppDelegate.swift rename to FlickerApp 2/FlickerApp/AppDelegate.swift diff --git a/FlickerApp/Assets.xcassets/AccentColor.colorset/Contents.json b/FlickerApp 2/FlickerApp/Assets.xcassets/AccentColor.colorset/Contents.json similarity index 100% rename from FlickerApp/Assets.xcassets/AccentColor.colorset/Contents.json rename to FlickerApp 2/FlickerApp/Assets.xcassets/AccentColor.colorset/Contents.json diff --git a/FlickerApp/Assets.xcassets/AppIcon.appiconset/Contents.json b/FlickerApp 2/FlickerApp/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from FlickerApp/Assets.xcassets/AppIcon.appiconset/Contents.json rename to FlickerApp 2/FlickerApp/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/FlickerApp/Assets.xcassets/Contents.json b/FlickerApp 2/FlickerApp/Assets.xcassets/Contents.json similarity index 100% rename from FlickerApp/Assets.xcassets/Contents.json rename to FlickerApp 2/FlickerApp/Assets.xcassets/Contents.json diff --git a/FlickerApp/Base.lproj/LaunchScreen.storyboard b/FlickerApp 2/FlickerApp/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from FlickerApp/Base.lproj/LaunchScreen.storyboard rename to FlickerApp 2/FlickerApp/Base.lproj/LaunchScreen.storyboard diff --git a/FlickerApp 2/FlickerApp/Base.lproj/Main.storyboard b/FlickerApp 2/FlickerApp/Base.lproj/Main.storyboard new file mode 100644 index 0000000..bd74da2 --- /dev/null +++ b/FlickerApp 2/FlickerApp/Base.lproj/Main.storyboard @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FlickerApp/Info.plist b/FlickerApp 2/FlickerApp/Info.plist similarity index 100% rename from FlickerApp/Info.plist rename to FlickerApp 2/FlickerApp/Info.plist diff --git a/FlickerApp 2/FlickerApp/MyModel.swift b/FlickerApp 2/FlickerApp/MyModel.swift new file mode 100644 index 0000000..8980906 --- /dev/null +++ b/FlickerApp 2/FlickerApp/MyModel.swift @@ -0,0 +1,23 @@ +// +// MyModel.swift +// tableviewTest +// +// Created by Haseeb Javed on 22/12/2021. +// + + +import Foundation + + +struct MyModel : Codable { + var title: String + var items : [Item] +} +struct Item : Codable{ + var media:Media +} +struct Media : Codable { + var m: String +} + + diff --git a/FlickerApp/MyTableViewCell.swift b/FlickerApp 2/FlickerApp/MyTableViewCell.swift similarity index 87% rename from FlickerApp/MyTableViewCell.swift rename to FlickerApp 2/FlickerApp/MyTableViewCell.swift index 4a06a0a..3a45730 100644 --- a/FlickerApp/MyTableViewCell.swift +++ b/FlickerApp 2/FlickerApp/MyTableViewCell.swift @@ -13,6 +13,7 @@ class MyTableViewCell: UITableViewCell { override func awakeFromNib() { super.awakeFromNib() + self.myImageView.contentMode = .scaleAspectFill } override func setSelected(_ selected: Bool, animated: Bool) { diff --git a/FlickerApp/SceneDelegate.swift b/FlickerApp 2/FlickerApp/SceneDelegate.swift similarity index 100% rename from FlickerApp/SceneDelegate.swift rename to FlickerApp 2/FlickerApp/SceneDelegate.swift diff --git a/FlickerApp/ViewController.swift b/FlickerApp 2/FlickerApp/ViewController.swift similarity index 72% rename from FlickerApp/ViewController.swift rename to FlickerApp 2/FlickerApp/ViewController.swift index 73cab84..f2c2362 100644 --- a/FlickerApp/ViewController.swift +++ b/FlickerApp 2/FlickerApp/ViewController.swift @@ -7,14 +7,9 @@ import UIKit -typealias customType = (title: String, image: String, date_taken: String ) class ViewController: UIViewController { - //.. - var arrOfMedia = [Media]() - //.. var imagesUrls: [String] = [] - var myModelArray: [customType] = [] @IBOutlet weak var myTableView: UITableView! @@ -22,7 +17,8 @@ class ViewController: UIViewController { super.viewDidLoad() myTableView.delegate = self myTableView.dataSource = self - myTableView.backgroundColor = .red +// myTableView.backgroundColor = .lightGray + self.myTableView.rowHeight = myTableView.frame.width setup() } @@ -37,17 +33,15 @@ class ViewController: UIViewController { do { let decoder = JSONDecoder() - let decoderData = try decoder.decode(myModelArray.self, from: jsonData) + let decoderData = try decoder.decode(MyModel.self, from: jsonData) print(decoderData.title) - self.myModelArray.removeAll() + self.imagesUrls.removeAll() + decoderData.items.forEach { item in - let title = item.title - let date_taken = item.date_taken let newImage = item.media.m - let thisModel: customType = (title: title, image: newImage, date_taken: date_taken) - self.myModelArray.append(thisModel) + self.imagesUrls.append(newImage) } DispatchQueue.main.async{ @@ -65,14 +59,14 @@ class ViewController: UIViewController { extension ViewController: UITableViewDelegate, UITableViewDataSource { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { - 100 + return imagesUrls.count } func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell = myTableView.dequeueReusableCell(withIdentifier: "myCell") as! MyTableViewCell - let thisItem = self.myModelArray[indexPath.row] - let url = URL(string: thisItem.image)! + let thisItem = self.imagesUrls[indexPath.row] + let url = URL(string: thisItem)! do { let data = try Data(contentsOf: url) @@ -84,7 +78,7 @@ extension ViewController: UITableViewDelegate, UITableViewDataSource { } func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { - 400 + return myTableView.frame.width/2 } diff --git a/FlickerApp.xcodeproj/project.xcworkspace/xcuserdata/Lola.xcuserdatad/UserInterfaceState.xcuserstate b/FlickerApp.xcodeproj/project.xcworkspace/xcuserdata/Lola.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 67157b9de6e8c0fcbce8b6b597d664877a3f8145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24015 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 I{xn4YKfRS>00000 diff --git a/FlickerApp/Base.lproj/Main.storyboard b/FlickerApp/Base.lproj/Main.storyboard deleted file mode 100644 index de0bef1..0000000 --- a/FlickerApp/Base.lproj/Main.storyboard +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/FlickerApp/DataModel.swift b/FlickerApp/DataModel.swift deleted file mode 100644 index 713b307..0000000 --- a/FlickerApp/DataModel.swift +++ /dev/null @@ -1,25 +0,0 @@ -// -// DataModel.swift -// FlickerApp -// -// Created by Lola M on 12/22/21. -// - -import UIKit - - -struct MyDataModel: Codable { - var title: String - var link: String - var items: [Items] -} - -struct Items: Codable { - var title: String - var link: String - var media: Media -} - -struct Media: Codable { - var m: String -} diff --git a/FlickerApp/ViewController2.swift b/FlickerApp/ViewController2.swift deleted file mode 100644 index 7e304c6..0000000 --- a/FlickerApp/ViewController2.swift +++ /dev/null @@ -1,80 +0,0 @@ -// -// ViewController2.swift -// FlickerApp -// -// Created by Lola M on 12/21/21. -// -// -import UIKit - -class ViewController2: UIViewController { - - var arrOfMedia = [Media]() - - @IBOutlet weak var myImageView2: UIImageView! - - override func viewDidLoad() { - super.viewDidLoad() - - setup() - let myImage = imageFromUrl(urlString: "https://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=flower&nojsoncallback=1#") - - } - - - func setup() { - - let config = URLSessionConfiguration.default - let session = URLSession(configuration: config) - if let url = NSURL(string: "https://api.flickr.com/services/feeds/photos_public.gne?format=json&tags=flower&nojsoncallback=1#"){ - - let task = session.dataTask(with: url as URL, completionHandler: {data, response, error in - - if let err = error { - print("Error: \(err)") - return - } - - if let http = response as? HTTPURLResponse { - if http.statusCode == 200 { - let downloadedImage = UIImage(data: data!) - DispatchQueue.main.async { - self.myImageView2.image = downloadedImage - } - } - } - }) - task.resume() - } - } - - func imageFromUrl(urlString: String) { - if let url = URL(string: urlString) { - let task = URLSession.shared.dataTask(with: url) { data, response, error in - guard let data = data, error == nil else { return } - DispatchQueue.main.async() { - self.myImageView2.image = UIImage(data: data) - } - } - task.resume() - } - } - - - - struct MyDataModel: Codable { - var title: String - var link: String - var items: [Items] - } - struct Items: Codable { - var title: String - var link: String - var media: Media - } - struct Media: Codable { - var m: String - } - -} - diff --git a/README.md b/README.md deleted file mode 100644 index 1cd7ef1..0000000 --- a/README.md +++ /dev/null @@ -1,2 +0,0 @@ -# Network -this repo contains applications using Network