From 719e51e0e91360ed2cd0a575a8b2033252a75a38 Mon Sep 17 00:00:00 2001 From: DaoLQ Date: Mon, 15 Jan 2018 14:02:14 +0700 Subject: [PATCH] lession 1 --- .../project.pbxproj | 259 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 10981 bytes .../xcschemes/1.SwiftFundamental.xcscheme | 91 ++++++ .../xcschemes/xcschememanagement.plist | 22 ++ .../1.SwiftFundamental/main.swift | 16 ++ README.md | 29 ++ 7 files changed, 424 insertions(+) create mode 100644 1.SwiftFundamental/1.SwiftFundamental.xcodeproj/project.pbxproj create mode 100644 1.SwiftFundamental/1.SwiftFundamental.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 1.SwiftFundamental/1.SwiftFundamental.xcodeproj/project.xcworkspace/xcuserdata/daolq.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 1.SwiftFundamental/1.SwiftFundamental.xcodeproj/xcuserdata/daolq.xcuserdatad/xcschemes/1.SwiftFundamental.xcscheme create mode 100644 1.SwiftFundamental/1.SwiftFundamental.xcodeproj/xcuserdata/daolq.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 1.SwiftFundamental/1.SwiftFundamental/main.swift diff --git a/1.SwiftFundamental/1.SwiftFundamental.xcodeproj/project.pbxproj b/1.SwiftFundamental/1.SwiftFundamental.xcodeproj/project.pbxproj new file mode 100644 index 0000000..b670845 --- /dev/null +++ b/1.SwiftFundamental/1.SwiftFundamental.xcodeproj/project.pbxproj @@ -0,0 +1,259 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + BFDD69FE200C5CF600DA9FA0 /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFDD69FD200C5CF600DA9FA0 /* main.swift */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + BFDD69F8200C5CF600DA9FA0 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + BFDD69FA200C5CF600DA9FA0 /* 1.SwiftFundamental */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = 1.SwiftFundamental; sourceTree = BUILT_PRODUCTS_DIR; }; + BFDD69FD200C5CF600DA9FA0 /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + BFDD69F7200C5CF600DA9FA0 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + BFDD69F1200C5CF600DA9FA0 = { + isa = PBXGroup; + children = ( + BFDD69FC200C5CF600DA9FA0 /* 1.SwiftFundamental */, + BFDD69FB200C5CF600DA9FA0 /* Products */, + ); + sourceTree = ""; + }; + BFDD69FB200C5CF600DA9FA0 /* Products */ = { + isa = PBXGroup; + children = ( + BFDD69FA200C5CF600DA9FA0 /* 1.SwiftFundamental */, + ); + name = Products; + sourceTree = ""; + }; + BFDD69FC200C5CF600DA9FA0 /* 1.SwiftFundamental */ = { + isa = PBXGroup; + children = ( + BFDD69FD200C5CF600DA9FA0 /* main.swift */, + ); + path = 1.SwiftFundamental; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + BFDD69F9200C5CF600DA9FA0 /* 1.SwiftFundamental */ = { + isa = PBXNativeTarget; + buildConfigurationList = BFDD6A01200C5CF600DA9FA0 /* Build configuration list for PBXNativeTarget "1.SwiftFundamental" */; + buildPhases = ( + BFDD69F6200C5CF600DA9FA0 /* Sources */, + BFDD69F7200C5CF600DA9FA0 /* Frameworks */, + BFDD69F8200C5CF600DA9FA0 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = 1.SwiftFundamental; + productName = 1.SwiftFundamental; + productReference = BFDD69FA200C5CF600DA9FA0 /* 1.SwiftFundamental */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BFDD69F2200C5CF600DA9FA0 /* Project object */ = { + isa = PBXProject; + attributes = { + LastSwiftUpdateCheck = 0830; + LastUpgradeCheck = 0830; + ORGANIZATIONNAME = DaoLQ; + TargetAttributes = { + BFDD69F9200C5CF600DA9FA0 = { + CreatedOnToolsVersion = 8.3.3; + ProvisioningStyle = Automatic; + }; + }; + }; + buildConfigurationList = BFDD69F5200C5CF600DA9FA0 /* Build configuration list for PBXProject "1.SwiftFundamental" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = BFDD69F1200C5CF600DA9FA0; + productRefGroup = BFDD69FB200C5CF600DA9FA0 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + BFDD69F9200C5CF600DA9FA0 /* 1.SwiftFundamental */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + BFDD69F6200C5CF600DA9FA0 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BFDD69FE200C5CF600DA9FA0 /* main.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + BFDD69FF200C5CF600DA9FA0 /* 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++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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; + MACOSX_DEPLOYMENT_TARGET = 10.12; + MTL_ENABLE_DEBUG_INFO = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Debug; + }; + BFDD6A00200C5CF600DA9FA0 /* 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++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = 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_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_IDENTITY = "-"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + 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; + MACOSX_DEPLOYMENT_TARGET = 10.12; + MTL_ENABLE_DEBUG_INFO = NO; + SDKROOT = macosx; + }; + name = Release; + }; + BFDD6A02200C5CF600DA9FA0 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + }; + name = Debug; + }; + BFDD6A03200C5CF600DA9FA0 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 3.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + BFDD69F5200C5CF600DA9FA0 /* Build configuration list for PBXProject "1.SwiftFundamental" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BFDD69FF200C5CF600DA9FA0 /* Debug */, + BFDD6A00200C5CF600DA9FA0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + BFDD6A01200C5CF600DA9FA0 /* Build configuration list for PBXNativeTarget "1.SwiftFundamental" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BFDD6A02200C5CF600DA9FA0 /* Debug */, + BFDD6A03200C5CF600DA9FA0 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = BFDD69F2200C5CF600DA9FA0 /* Project object */; +} diff --git a/1.SwiftFundamental/1.SwiftFundamental.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/1.SwiftFundamental/1.SwiftFundamental.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..18a3efb --- /dev/null +++ b/1.SwiftFundamental/1.SwiftFundamental.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/1.SwiftFundamental/1.SwiftFundamental.xcodeproj/project.xcworkspace/xcuserdata/daolq.xcuserdatad/UserInterfaceState.xcuserstate b/1.SwiftFundamental/1.SwiftFundamental.xcodeproj/project.xcworkspace/xcuserdata/daolq.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..e16d864227a1e67b36ac2eb67f5ee97271bd3886 GIT binary patch literal 10981 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/1.SwiftFundamental/1.SwiftFundamental.xcodeproj/xcuserdata/daolq.xcuserdatad/xcschemes/xcschememanagement.plist b/1.SwiftFundamental/1.SwiftFundamental.xcodeproj/xcuserdata/daolq.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..425cdd1 --- /dev/null +++ b/1.SwiftFundamental/1.SwiftFundamental.xcodeproj/xcuserdata/daolq.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + 1.SwiftFundamental.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + BFDD69F9200C5CF600DA9FA0 + + primary + + + + + diff --git a/1.SwiftFundamental/1.SwiftFundamental/main.swift b/1.SwiftFundamental/1.SwiftFundamental/main.swift new file mode 100644 index 0000000..ee675a7 --- /dev/null +++ b/1.SwiftFundamental/1.SwiftFundamental/main.swift @@ -0,0 +1,16 @@ +// +// main.swift +// 1.SwiftFundamental +// +// Created by DaoLQ on 1/15/18. +// Copyright © 2018 DaoLQ. All rights reserved. +// + +import Foundation + +let numberOfPlanets = 8 +let diameterOfEarth: Double = 24859.8244 // In miles, from pole to pole. + +print("Welcome to our solar system!") +print("There are \(numberOfPlanets) plan") +print("Your are currently on Earth, which has a circumference of \(diameterOfEarth) miles") diff --git a/README.md b/README.md index 76205d9..77d927b 100644 --- a/README.md +++ b/README.md @@ -1 +1,30 @@ # IOSTraining +## Lession 1: +**1. Variables, type, String, Operators** ++ Difference between let & var ++ Tuple and Optional ++ When to use ``!`` & when to use ``?`` + +**2. Structural condition, structural loop in swift** ++ Understand about if, else, if let, guard let ++ More ways using loop for by Swift [link](https://viblo.asia/p/tong-hop-cac-cu-phap-lenh-for-thuong-gap-trong-swift-3-tro-di-1Je5E8AGlnL) ++ When to use ``while`` loop and when to use ``for`` loop + +**3. Declare array/ dictionary/ set** ++ When to use array/ dictionary/ set? + +**4. Function Type** + +**5. Closure** + +**6. Enum** + +**7. Struct & Class** ++ When to use Struct and When to use class + +**8. Inheritance in swift** + +**9. Extension in swift** + +**10. Protocol** ++ When to use protocol?