├── .gitignore
├── AVLTree
├── AVLTree.playground
│ ├── Pages
│ │ ├── AVLTree.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ └── 遍历协议.xcplaygroundpage
│ │ │ └── Contents.swift
│ ├── Sources
│ │ ├── AVLNode.swift
│ │ ├── AVLTree.swift
│ │ └── Helpers.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── AbstractFactory
├── AbstractFactory.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── AbstractFactory
│ ├── AbstractGUIFactory.swift
│ ├── Alert.swift
│ ├── AndroidAlert.swift
│ ├── AndroidButton.swift
│ ├── AndroidFactory.swift
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Button.swift
│ ├── GUIBuilder.swift
│ ├── Info.plist
│ ├── ViewController.swift
│ ├── iOSAlert.swift
│ ├── iOSButton.swift
│ └── iOSFactory.swift
└── README.md
├── AdapterPattern
├── AdapterPattern.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── AdapterPattern
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── AuthenticationService.swift
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── GoogleAuthenticator.swift
│ ├── GoogleAuthenticatorAdapter.swift
│ ├── Info.plist
│ └── ViewController.swift
└── README.md
├── AlertController
├── AlertController.xcodeproj
│ ├── .xcodeSampleCode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ └── xcschemes
│ │ ├── AlertController.xcscheme
│ │ └── xcschememanagement.plist
├── AlertController
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
├── AlertControllerTests
│ ├── AlertControllerTests.m
│ └── Info.plist
└── README.md
├── AssociatedObject
├── AssociatedObject.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── AssociatedObject
│ ├── Child+Test.h
│ ├── Child+Test.m
│ ├── Child.h
│ ├── Child.m
│ └── main.m
└── README.md
├── AutoLayout
├── AutoLayout.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ └── xcschemes
│ │ ├── AutoLayout.xcscheme
│ │ └── xcschememanagement.plist
├── AutoLayout
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
└── AutoLayoutTests
│ ├── AutoLayoutTests.m
│ └── Info.plist
├── Autoclosure
├── Autoclosure.playground
│ ├── Contents.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── BinarySearch
├── BinarySearch.playground
│ ├── Pages
│ │ ├── BinarySearch.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ ├── 查找指定元素范围.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ └── 独立的二分查找.xcplaygroundpage
│ │ │ └── Contents.swift
│ ├── Sources
│ │ ├── BinarySearch.swift
│ │ └── Helpers.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── BinarySearchTree
├── BinarySearchTree.playground
│ ├── Pages
│ │ ├── BinarySearchTree.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ ├── 子结构.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ ├── 是否是二叉搜索树.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ └── 相同的树.xcplaygroundpage
│ │ │ └── Contents.swift
│ ├── Sources
│ │ ├── BinaryNode.swift
│ │ ├── BinarySearchTree.swift
│ │ └── Helpers.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── BinaryTree
├── BinaryTree.playground
│ ├── Pages
│ │ ├── BinaryTree.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ ├── 序列化树.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ └── 树的高度.xcplaygroundpage
│ │ │ └── Contents.swift
│ ├── Sources
│ │ ├── BinaryNode.swift
│ │ └── Helpers.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── Block
├── Block.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ ├── Block.xcscheme
│ │ └── xcschememanagement.plist
├── Block
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Handler.h
│ ├── Handler.m
│ ├── Info.plist
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
└── BlockTests
│ ├── BlockTests.m
│ └── Info.plist
├── BuilderPattern
├── BuilderPattern.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── BuilderPattern
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Employee.swift
│ ├── Hamburger.swift
│ ├── HamburgerBuilder.swift
│ ├── Info.plist
│ └── ViewController.swift
└── README.md
├── CollectionView
├── CollectionView.xcodeproj
│ ├── .xcodesamplecode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── CollectionView
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── 1.imageset
│ │ │ ├── 1.jpg
│ │ │ └── Contents.json
│ │ ├── 2.imageset
│ │ │ ├── 2.jpg
│ │ │ └── Contents.json
│ │ ├── 3.imageset
│ │ │ ├── 3.jpg
│ │ │ └── Contents.json
│ │ ├── 4.imageset
│ │ │ ├── 4.jpg
│ │ │ └── Contents.json
│ │ ├── 5.imageset
│ │ │ ├── 5.jpg
│ │ │ └── Contents.json
│ │ ├── 6.imageset
│ │ │ ├── 6.jpg
│ │ │ └── Contents.json
│ │ ├── A.imageset
│ │ │ ├── 11.jpg
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── B.imageset
│ │ │ ├── 12.jpg
│ │ │ └── Contents.json
│ │ ├── C.imageset
│ │ │ ├── 13.jpg
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── D.imageset
│ │ │ ├── 14.jpg
│ │ │ └── Contents.json
│ │ ├── E.imageset
│ │ │ ├── 15.jpg
│ │ │ └── Contents.json
│ │ └── F.imageset
│ │ │ ├── 16.jpg
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── CollectionReusableView.h
│ ├── CollectionReusableView.m
│ ├── CollectionViewCell.h
│ ├── CollectionViewCell.m
│ ├── Info.plist
│ ├── SimpleModel.h
│ ├── SimpleModel.m
│ ├── UIColor+RandomColor.h
│ ├── UIColor+RandomColor.m
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
├── CollectionViewTests
│ ├── CollectionViewTests.m
│ └── Info.plist
└── README.md
├── CoreAnimation
├── CoreAnimation.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── CoreAnimation
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Ball.imageset
│ │ │ ├── Ball@2x.png
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── Door.imageset
│ │ │ ├── Contents.json
│ │ │ ├── Door.png
│ │ │ └── Door@2x.png
│ │ ├── RadialGradient.imageset
│ │ │ ├── Contents.json
│ │ │ ├── camera_flash_selected@2x.png
│ │ │ └── camera_flash_selected@3x.png
│ │ ├── Rounded.imageset
│ │ │ ├── Contents.json
│ │ │ └── Rounded@2x.png
│ │ ├── Ship.imageset
│ │ │ ├── Contents.json
│ │ │ └── Ship@2x.png
│ │ ├── Snowman.imageset
│ │ │ ├── Contents.json
│ │ │ └── Snowman@2x.png
│ │ ├── Spark.imageset
│ │ │ ├── Contents.json
│ │ │ └── Spark.png
│ │ └── balloon.imageset
│ │ │ ├── Contents.json
│ │ │ ├── balloon@2x.png
│ │ │ └── balloon@3x.png
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── BaseViewController.swift
│ ├── Color.swift
│ ├── DisplayLinkViewController.swift
│ ├── ExplicitlyViewController.swift
│ ├── Image
│ │ ├── Snowman_00_00.jpg
│ │ ├── Snowman_00_01.jpg
│ │ ├── Snowman_00_02.jpg
│ │ ├── Snowman_00_03.jpg
│ │ ├── Snowman_00_04.jpg
│ │ ├── Snowman_00_05.jpg
│ │ ├── Snowman_00_06.jpg
│ │ ├── Snowman_00_07.jpg
│ │ ├── Snowman_01_00.jpg
│ │ ├── Snowman_01_01.jpg
│ │ ├── Snowman_01_02.jpg
│ │ ├── Snowman_01_03.jpg
│ │ ├── Snowman_01_04.jpg
│ │ ├── Snowman_01_05.jpg
│ │ ├── Snowman_01_06.jpg
│ │ ├── Snowman_01_07.jpg
│ │ ├── Snowman_02_00.jpg
│ │ ├── Snowman_02_01.jpg
│ │ ├── Snowman_02_02.jpg
│ │ ├── Snowman_02_03.jpg
│ │ ├── Snowman_02_04.jpg
│ │ ├── Snowman_02_05.jpg
│ │ ├── Snowman_02_06.jpg
│ │ ├── Snowman_02_07.jpg
│ │ ├── Snowman_03_00.jpg
│ │ ├── Snowman_03_01.jpg
│ │ ├── Snowman_03_02.jpg
│ │ ├── Snowman_03_03.jpg
│ │ ├── Snowman_03_04.jpg
│ │ ├── Snowman_03_05.jpg
│ │ ├── Snowman_03_06.jpg
│ │ ├── Snowman_03_07.jpg
│ │ ├── Snowman_04_00.jpg
│ │ ├── Snowman_04_01.jpg
│ │ ├── Snowman_04_02.jpg
│ │ ├── Snowman_04_03.jpg
│ │ ├── Snowman_04_04.jpg
│ │ ├── Snowman_04_05.jpg
│ │ ├── Snowman_04_06.jpg
│ │ ├── Snowman_04_07.jpg
│ │ ├── Snowman_05_00.jpg
│ │ ├── Snowman_05_01.jpg
│ │ ├── Snowman_05_02.jpg
│ │ ├── Snowman_05_03.jpg
│ │ ├── Snowman_05_04.jpg
│ │ ├── Snowman_05_05.jpg
│ │ ├── Snowman_05_06.jpg
│ │ ├── Snowman_05_07.jpg
│ │ ├── Snowman_06_00.jpg
│ │ ├── Snowman_06_01.jpg
│ │ ├── Snowman_06_02.jpg
│ │ ├── Snowman_06_03.jpg
│ │ ├── Snowman_06_04.jpg
│ │ ├── Snowman_06_05.jpg
│ │ ├── Snowman_06_06.jpg
│ │ ├── Snowman_06_07.jpg
│ │ ├── Snowman_07_00.jpg
│ │ ├── Snowman_07_01.jpg
│ │ ├── Snowman_07_02.jpg
│ │ ├── Snowman_07_03.jpg
│ │ ├── Snowman_07_04.jpg
│ │ ├── Snowman_07_05.jpg
│ │ ├── Snowman_07_06.jpg
│ │ └── Snowman_07_07.jpg
│ ├── ImageIOViewController.swift
│ ├── Info.plist
│ ├── Item.swift
│ ├── LayerPerformanceViewController.swift
│ ├── LayerTimeViewController.swift
│ ├── LayersViewController.swift
│ ├── Performance
│ │ ├── Anchor.png
│ │ ├── Cone.png
│ │ ├── Igloo.png
│ │ ├── Key.png
│ │ ├── Man.png
│ │ └── Spaceship.png
│ ├── PerformanceViewController.swift
│ ├── ReflectionView.swift
│ ├── ReflectionViewController.swift
│ ├── SceneDelegate.swift
│ ├── ScrollView.swift
│ ├── ShadowPathViewController.swift
│ ├── TransformViewController.swift
│ ├── Transition.swift
│ ├── Vacation Photos
│ │ ├── IMG_0150.png
│ │ ├── IMG_0154.png
│ │ ├── IMG_0163.png
│ │ ├── IMG_0169.png
│ │ ├── IMG_0170.png
│ │ ├── IMG_0173.png
│ │ ├── IMG_0174.png
│ │ ├── IMG_0180.png
│ │ ├── IMG_0181.png
│ │ ├── IMG_0184.png
│ │ └── IMG_0197.png
│ └── ViewController.swift
└── README.md
├── CoreGraphics-1
├── CoreGraphics-1.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── CoreGraphics-1
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── CounterView.swift
│ ├── Info.plist
│ ├── PushButton.swift
│ ├── SceneDelegate.swift
│ └── ViewController.swift
└── README.md
├── CoreGraphics-2
├── CoreGraphics-1.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── CoreGraphics-1
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── GraphView.swift
│ ├── Info.plist
│ ├── Line&Arc
│ │ ├── CounterView.swift
│ │ └── PushButton.swift
│ ├── SceneDelegate.swift
│ └── ViewController.swift
└── README.md
├── CoreGraphics-2模版
├── CoreGraphics-1.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── CoreGraphics-1
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── GraphView.swift
│ ├── Info.plist
│ ├── Line&Arc
│ │ ├── CounterView.swift
│ │ └── PushButton.swift
│ ├── SceneDelegate.swift
│ └── ViewController.swift
└── README.md
├── CoreGraphics-3
├── CoreGraphics-1.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── CoreGraphics-1
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── BackgroundView.swift
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Gradient
│ │ └── GraphView.swift
│ ├── Info.plist
│ ├── Line&Arc
│ │ ├── CounterView.swift
│ │ └── PushButton.swift
│ ├── MedalDrawing.playground
│ │ ├── Contents.swift
│ │ ├── contents.xcplayground
│ │ ├── playground.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ │ └── timeline.xctimeline
│ ├── MedalView.swift
│ ├── SceneDelegate.swift
│ └── ViewController.swift
└── README.md
├── Delegation&Notification
├── Delegation&Notification.xcodeproj
│ ├── .xcodeSampleCode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ ├── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ │ │ └── darkgm.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ ├── ad.xcuserdatad
│ │ ├── xcdebugger
│ │ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ │ ├── Delegation&Notification.xcscheme
│ │ │ └── xcschememanagement.plist
│ │ └── darkgm.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── Delegation&Notification
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── SecondViewController.h
│ ├── SecondViewController.m
│ ├── ThirdViewController.h
│ ├── ThirdViewController.m
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
├── Delegation&NotificationTests
│ ├── Delegation_NotificationTests.m
│ └── Info.plist
└── README.md
├── Delegation&Notification模板
├── Delegation&Notification.xcodeproj
│ ├── .xcodeSampleCode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ ├── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ │ │ └── darkgm.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ ├── ad.xcuserdatad
│ │ └── xcschemes
│ │ │ ├── Delegation&Notification.xcscheme
│ │ │ └── xcschememanagement.plist
│ │ └── darkgm.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── Delegation&Notification
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── SecondViewController.h
│ ├── SecondViewController.m
│ ├── ThirdViewController.h
│ ├── ThirdViewController.m
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
├── Delegation&NotificationTests
│ ├── Delegation_NotificationTests.m
│ └── Info.plist
└── README.md
├── DependencyInversionPrinciple
├── DependencyInversionPrinciple.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── DependencyInversionPrinciple
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── Network.swift
│ ├── Product.swift
│ ├── SceneDelegate.swift
│ └── ViewController.swift
└── README.md
├── DisplayViewController
├── DisplayViewController.xcodeproj
│ ├── .xcodesamplecode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ ├── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ │ └── xcuserdata
│ │ │ └── pro648.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── pro648.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── DisplayViewController
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── FirstVC.h
│ ├── FirstVC.m
│ ├── Info.plist
│ ├── PresentedViewController.h
│ ├── PresentedViewController.m
│ ├── PresentingViewController.h
│ ├── PresentingViewController.m
│ ├── SecondVC.h
│ ├── SecondVC.m
│ └── main.m
├── DisplayViewControllerTests
│ ├── DisplayViewControllerTests.m
│ └── Info.plist
└── README.md
├── FileManager
├── FileManager.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ └── xcschemes
│ │ ├── FileManager.xcscheme
│ │ └── xcschememanagement.plist
├── FileManager
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
└── FileManagerTests
│ ├── FileManagerTests.m
│ └── Info.plist
├── GestureRecognizer
├── GestureRecognizer.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ └── xcschemes
│ │ ├── GestureRecognizer.xcscheme
│ │ └── xcschememanagement.plist
├── GestureRecognizer
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── first.imageset
│ │ │ ├── Contents.json
│ │ │ └── first.pdf
│ │ └── second.imageset
│ │ │ ├── Contents.json
│ │ │ └── second.pdf
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── PanViewController.h
│ ├── PanViewController.m
│ ├── PinchViewController.h
│ ├── PinchViewController.m
│ ├── RotationViewController.h
│ ├── RotationViewController.m
│ ├── SwipeViewController.h
│ ├── SwipeViewController.m
│ ├── TapViewController.h
│ ├── TapViewController.m
│ └── main.m
└── GestureRecognizerTests
│ ├── GestureRecognizerTests.m
│ └── Info.plist
├── GrandCentralDispatch
├── GrandCentralDispatch.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ ├── ad.xcuserdatad
│ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ └── pro648.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── GrandCentralDispatch.xcworkspace
│ ├── .xcodesamplecode.plist
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ ├── ad.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ │ └── pro648.xcuserdatad
│ │ ├── UserInterfaceState.xcuserstate
│ │ └── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
├── GrandCentralDispatch
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── icon-1024.png
│ │ │ ├── icon-20-ipad.png
│ │ │ ├── icon-20@2x-ipad.png
│ │ │ ├── icon-20@2x.png
│ │ │ ├── icon-20@3x.png
│ │ │ ├── icon-29-ipad.png
│ │ │ ├── icon-29@2x-ipad.png
│ │ │ ├── icon-29@2x.png
│ │ │ ├── icon-29@3x.png
│ │ │ ├── icon-40.png
│ │ │ ├── icon-40@2x-1.png
│ │ │ ├── icon-40@2x.png
│ │ │ ├── icon-40@3x.png
│ │ │ ├── icon-60@2x.png
│ │ │ ├── icon-60@3x.png
│ │ │ ├── icon-76.png
│ │ │ ├── icon-76@2x.png
│ │ │ └── icon-83.5@2x.png
│ │ ├── Contents.json
│ │ ├── background.imageset
│ │ │ ├── Contents.json
│ │ │ ├── background.png
│ │ │ └── background@2x.png
│ │ ├── photoDownloadError.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_error.png
│ │ │ ├── ic_error_2x.png
│ │ │ └── ic_error_3x.png
│ │ └── photoDownloading.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_insert_photo.png
│ │ │ ├── ic_insert_photo_2x.png
│ │ │ └── ic_insert_photo_3x.png
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── CollectionViewController.h
│ ├── CollectionViewController.m
│ ├── DetailViewController.h
│ ├── DetailViewController.m
│ ├── Info.plist
│ ├── PhotoManagement
│ │ ├── Photo.h
│ │ ├── Photo.m
│ │ ├── PhotoManager.h
│ │ └── PhotoManager.m
│ ├── UIImageCategories
│ │ ├── UIImage+Alpha.h
│ │ ├── UIImage+Alpha.m
│ │ ├── UIImage+Resize.h
│ │ ├── UIImage+Resize.m
│ │ ├── UIImage+RoundedCorner.h
│ │ └── UIImage+RoundedCorner.m
│ └── main.m
├── GrandCentralDispatchTests
│ ├── GrandCentralDispatchTests.m
│ └── Info.plist
├── Podfile
├── Podfile.lock
└── README.md
├── GrandCentralDispatch模板
├── GrandCentralDispatch.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ ├── ad.xcuserdatad
│ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ └── pro648.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── GrandCentralDispatch.xcworkspace
│ ├── .xcodesamplecode.plist
│ ├── contents.xcworkspacedata
│ └── xcuserdata
│ │ ├── ad.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
│ │ └── pro648.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
├── GrandCentralDispatch
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ ├── Contents.json
│ │ │ ├── icon-1024.png
│ │ │ ├── icon-20-ipad.png
│ │ │ ├── icon-20@2x-ipad.png
│ │ │ ├── icon-20@2x.png
│ │ │ ├── icon-20@3x.png
│ │ │ ├── icon-29-ipad.png
│ │ │ ├── icon-29@2x-ipad.png
│ │ │ ├── icon-29@2x.png
│ │ │ ├── icon-29@3x.png
│ │ │ ├── icon-40.png
│ │ │ ├── icon-40@2x-1.png
│ │ │ ├── icon-40@2x.png
│ │ │ ├── icon-40@3x.png
│ │ │ ├── icon-60@2x.png
│ │ │ ├── icon-60@3x.png
│ │ │ ├── icon-76.png
│ │ │ ├── icon-76@2x.png
│ │ │ └── icon-83.5@2x.png
│ │ ├── Contents.json
│ │ ├── background.imageset
│ │ │ ├── Contents.json
│ │ │ ├── background.png
│ │ │ └── background@2x.png
│ │ ├── photoDownloadError.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_error.png
│ │ │ ├── ic_error_2x.png
│ │ │ └── ic_error_3x.png
│ │ └── photoDownloading.imageset
│ │ │ ├── Contents.json
│ │ │ ├── ic_insert_photo.png
│ │ │ ├── ic_insert_photo_2x.png
│ │ │ └── ic_insert_photo_3x.png
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── CollectionViewController.h
│ ├── CollectionViewController.m
│ ├── DetailViewController.h
│ ├── DetailViewController.m
│ ├── Info.plist
│ ├── PhotoManagement
│ │ ├── Photo.h
│ │ ├── Photo.m
│ │ ├── PhotoManager.h
│ │ └── PhotoManager.m
│ ├── UIImageCategories
│ │ ├── UIImage+Alpha.h
│ │ ├── UIImage+Alpha.m
│ │ ├── UIImage+Resize.h
│ │ ├── UIImage+Resize.m
│ │ ├── UIImage+RoundedCorner.h
│ │ └── UIImage+RoundedCorner.m
│ └── main.m
├── GrandCentralDispatchTests
│ ├── GrandCentralDispatchTests.m
│ └── Info.plist
├── Podfile
├── Podfile.lock
└── README.md
├── ImageResizing
├── ImageResizing.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── ImageResizing
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── CoreGraphics.swift
│ ├── CoreImage.swift
│ ├── ImageIO.swift
│ ├── Info.plist
│ ├── SceneDelegate.swift
│ ├── UIKit.swift
│ ├── ViewController.swift
│ ├── vImage.swift
│ └── visibleEarth.jpg
└── README.md
├── InterfaceSegregationPrinciple
├── InterfaceSegregationPrinciple.playground
│ ├── Contents.swift
│ ├── Sources
│ │ ├── Document.swift
│ │ ├── FaxMachine.swift
│ │ ├── Machine.swift
│ │ ├── NewIphone.swift
│ │ ├── PDF.swift
│ │ └── UltraIphone.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── IteratorPattern
├── IteratorPattern.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── IteratorPattern
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── Queue.swift
│ ├── Ticket.swift
│ └── ViewController.swift
└── README.md
├── KVC&KVODemo
├── KVC&KVODemo.xcodeproj
│ ├── .xcodeSampleCode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ └── xcschemes
│ │ ├── KVC&KVODemo.xcscheme
│ │ └── xcschememanagement.plist
├── KVC&KVODemo
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Children.h
│ ├── Children.m
│ ├── Info.plist
│ ├── KVCMutableArray.h
│ ├── KVCMutableArray.m
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
├── KVC&KVODemoTests
│ ├── Info.plist
│ └── KVC_KVODemoTests.m
└── README.md
├── KVC&KVO的本质
├── KVC&KVO的本质.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── KVC&KVO的本质
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── KVC
│ │ ├── Observer.h
│ │ ├── Observer.m
│ │ ├── Person.h
│ │ └── Person.m
│ ├── KVO
│ │ ├── Child.h
│ │ ├── Child.m
│ │ ├── NSKVONotifying_Child.h
│ │ └── NSKVONotifying_Child.m
│ ├── SceneDelegate.h
│ ├── SceneDelegate.m
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
└── README.md
├── KeyedArchiver
├── KeyedArchiver.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ └── xcschemes
│ │ ├── KeyedArchiver.xcscheme
│ │ └── xcschememanagement.plist
├── KeyedArchiver
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── Person.h
│ ├── Person.m
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
└── KeyedArchiverTests
│ ├── Info.plist
│ └── KeyedArchiverTests.m
├── LinkedList
├── LinkedList.playground
│ ├── Pages
│ │ ├── Challenge 1.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ ├── Challenge 2.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ ├── Challenge 3.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ ├── Challenge 4.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ ├── Challenge 5.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ └── Examples.xcplaygroundpage
│ │ │ └── Contents.swift
│ ├── Sources
│ │ ├── Helpers.swift
│ │ ├── LinkedList.swift
│ │ └── Node.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── LiskovSubstitutionPrinciple
├── LiskovSubstitutionPrinciple.playground
│ ├── Contents.swift
│ ├── Sources
│ │ ├── LSP&OCP
│ │ │ ├── CircleShape.swift
│ │ │ ├── Shape.swift
│ │ │ ├── SquareShape.swift
│ │ │ └── TriangleShape.swift
│ │ └── LSP
│ │ │ ├── Geometrics.swift
│ │ │ ├── Rectangle.swift
│ │ │ └── Square.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── MVVMPattern
├── MVVMPattern.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── MVVMPattern.xcworkspace
│ └── contents.xcworkspacedata
├── MVVMPattern
│ ├── AppDelegate
│ │ └── AppDelegate.swift
│ ├── Controllers
│ │ └── ViewController.swift
│ ├── Resources
│ │ ├── APIKeys.swift
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── Launch.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Launch.png
│ │ │ │ ├── Launch@2x.png
│ │ │ │ └── Launch@3x.png
│ │ │ ├── bad.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── bad.png
│ │ │ │ ├── bad@2x.png
│ │ │ │ └── bad@3x.png
│ │ │ ├── good.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── good.png
│ │ │ │ ├── good@2x.png
│ │ │ │ └── good@3x.png
│ │ │ ├── great.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── great.png
│ │ │ │ ├── great@2x.png
│ │ │ │ └── great@3x.png
│ │ │ ├── meh.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── meh.png
│ │ │ │ ├── meh@2x.png
│ │ │ │ └── meh@3x.png
│ │ │ └── terrible.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── terrible.png
│ │ │ │ ├── terrible@2x.png
│ │ │ │ └── terrible@3x.png
│ │ └── Info.plist
│ ├── ViewModels
│ │ └── BusinessMapViewModel.swift
│ └── Views
│ │ └── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
├── Podfile
├── Podfile.lock
└── README.md
├── MVVMPattern模版
├── MVVMPattern.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── MVVMPattern.xcworkspace
│ └── contents.xcworkspacedata
├── MVVMPattern
│ ├── AppDelegate
│ │ └── AppDelegate.swift
│ ├── Controllers
│ │ └── ViewController.swift
│ ├── Models
│ │ └── MapPin.swift
│ ├── Resources
│ │ ├── APIKeys.swift
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── Launch.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Launch.png
│ │ │ │ ├── Launch@2x.png
│ │ │ │ └── Launch@3x.png
│ │ │ ├── bad.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── bad.png
│ │ │ │ ├── bad@2x.png
│ │ │ │ └── bad@3x.png
│ │ │ ├── good.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── good.png
│ │ │ │ ├── good@2x.png
│ │ │ │ └── good@3x.png
│ │ │ ├── great.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── great.png
│ │ │ │ ├── great@2x.png
│ │ │ │ └── great@3x.png
│ │ │ ├── meh.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── meh.png
│ │ │ │ ├── meh@2x.png
│ │ │ │ └── meh@3x.png
│ │ │ └── terrible.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── terrible.png
│ │ │ │ ├── terrible@2x.png
│ │ │ │ └── terrible@3x.png
│ │ └── Info.plist
│ └── Views
│ │ └── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
├── Podfile
├── Podfile.lock
└── README.md
├── MementoPattern
├── MementoPattern.playground
│ ├── Contents.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── Model-View-ViewModel
├── Model-View-ViewModel.playground
│ ├── Contents.swift
│ ├── Resources
│ │ └── direwolf.png
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── NSCache
├── NSCache.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── NSCache
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AccentColor.colorset
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── abc.imageset
│ │ │ ├── Contents.json
│ │ │ └── abc.jpeg
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Discardable
│ │ ├── DiscardableViewController.swift
│ │ └── Person.swift
│ ├── ImageCache
│ │ ├── ImageCache.swift
│ │ └── LoadImageViewController.swift
│ ├── Info.plist
│ ├── SceneDelegate.swift
│ └── ViewController.swift
└── README.md
├── NSURLSession1
├── NSURLSession1.xcodeproj
│ ├── .xcodeSampleCode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ └── xcschemes
│ │ ├── NSURLSession1.xcscheme
│ │ └── xcschememanagement.plist
├── NSURLSession1
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
├── NSURLSession1Tests
│ ├── Info.plist
│ └── NSURLSession1Tests.m
└── README.md
├── Open-ClosedPrinciple
├── Open-ClosedPrinciple.playground
│ ├── Contents.swift
│ ├── Sources
│ │ ├── Abstract.swift
│ │ ├── Deeplink.swift
│ │ └── OCP.swift
│ ├── contents.xcplayground
│ ├── playground.xcworkspace
│ │ └── contents.xcworkspacedata
│ └── timeline.xctimeline
└── README.md
├── Operation&OperationQueue
├── Operation&OperationQueue.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── Operation&OperationQueue
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── 0.imageset
│ │ │ ├── 1.jpg
│ │ │ └── Contents.json
│ │ ├── 1.imageset
│ │ │ ├── 2.jpg
│ │ │ └── Contents.json
│ │ ├── 2.imageset
│ │ │ ├── 3.jpg
│ │ │ └── Contents.json
│ │ ├── 3.imageset
│ │ │ ├── 4.jpg
│ │ │ └── Contents.json
│ │ ├── 4.imageset
│ │ │ ├── 5.jpg
│ │ │ └── Contents.json
│ │ ├── 5.imageset
│ │ │ ├── 6.jpg
│ │ │ └── Contents.json
│ │ ├── 6.imageset
│ │ │ ├── 7.jpg
│ │ │ └── Contents.json
│ │ ├── 7.imageset
│ │ │ ├── 8.jpg
│ │ │ └── Contents.json
│ │ ├── 8.imageset
│ │ │ ├── 9.jpg
│ │ │ └── Contents.json
│ │ ├── 9.imageset
│ │ │ ├── 10.jpg
│ │ │ └── Contents.json
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── AsyncOperation.swift
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── FilterOperation.swift
│ ├── ImageDataProvider.swift
│ ├── Info.plist
│ ├── NetworkImageOperation.swift
│ ├── PhotoCell.swift
│ ├── Photos.plist
│ ├── SceneDelegate.swift
│ ├── SepiaFilter.swift
│ └── ViewController.swift
└── README.md
├── PageViewController
├── PageViewController.xcodeproj
│ ├── .xcodesamplecode.plist
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
├── PageViewController
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── DataViewController.h
│ ├── DataViewController.m
│ ├── Info.plist
│ ├── Model.h
│ ├── Model.m
│ ├── RootViewController.h
│ ├── RootViewController.m
│ └── main.m
├── PageViewControllerTests
│ ├── Info.plist
│ └── PageViewControllerTests.m
├── PageViewControllerUITests
│ ├── Info.plist
│ └── PageViewControllerUITests.m
└── README.md
├── PasswordAutoFill
├── PasswordAutofill.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── PasswordAutofill
│ ├── API.swift
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── PasswordAutofill.entitlements
│ └── ViewControllers
│ │ ├── LoginViewController.swift
│ │ ├── MotivationalViewController.swift
│ │ ├── OneTimeCodeViewController.swift
│ │ ├── ParentViewController.swift
│ │ └── SignupViewController.swift
└── README.md
├── PasswordAutoFill模版
├── PasswordAutoFill-Server
│ ├── Package.resolved
│ ├── Package.swift
│ ├── Procfile
│ ├── Resources
│ │ └── Views
│ │ │ ├── base.leaf
│ │ │ ├── changePassword.leaf
│ │ │ ├── index.leaf
│ │ │ ├── login.leaf
│ │ │ └── register.leaf
│ └── Sources
│ │ ├── App
│ │ ├── Controllers
│ │ │ ├── APIController.swift
│ │ │ └── WebsiteController.swift
│ │ ├── Models
│ │ │ ├── MotivationalLottery.swift
│ │ │ ├── Token.swift
│ │ │ └── User.swift
│ │ ├── app.swift
│ │ ├── boot.swift
│ │ ├── configure.swift
│ │ └── routes.swift
│ │ └── Run
│ │ └── main.swift
├── PasswordAutofill.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── PasswordAutofill
│ ├── API.swift
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── PasswordAutofill.entitlements
│ └── ViewControllers
│ │ ├── LoginViewController.swift
│ │ ├── MotivationalViewController.swift
│ │ ├── OneTimeCodeViewController.swift
│ │ ├── ParentViewController.swift
│ │ └── SignupViewController.swift
└── README.md
├── Persistence
├── Persistence.xcodeproj
│ ├── .xcodesamplecode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ ├── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ │ │ └── darkgm.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ ├── ad.xcuserdatad
│ │ └── xcschemes
│ │ │ ├── Persistence.xcscheme
│ │ │ └── xcschememanagement.plist
│ │ └── darkgm.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
├── Persistence
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
├── PersistenceTests
│ ├── Info.plist
│ └── PersistenceTests.m
└── README.md
├── PropertyAnimator
├── PropertyAnimator.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ └── xcschemes
│ │ ├── PropertyAnimator.xcscheme
│ │ └── xcschememanagement.plist
├── PropertyAnimator
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── first.imageset
│ │ │ ├── Contents.json
│ │ │ └── first.pdf
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── TimingCurvesViewController.h
│ ├── TimingCurvesViewController.m
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
└── PropertyAnimatorTests
│ ├── Info.plist
│ └── PropertyAnimatorTests.m
├── ProtocolAndGeneric
├── ProtocolAndGeneric.playground
│ ├── Contents.swift
│ ├── Sources
│ │ └── Mems.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── ProtocolOrientedProgramming
├── ProtocolOrientedProgramming.playground
│ ├── Contents.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── PrototypePattern
├── PrototypePattern.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
├── PrototypePattern
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Copying.swift
│ ├── EyeballMonster.swift
│ ├── Info.plist
│ ├── Monster.swift
│ └── ViewController.swift
└── README.md
├── Queue
├── Queue.playground
│ ├── Pages
│ │ ├── Challenge 1.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ ├── Challenge 2.xcplaygroundpage
│ │ │ ├── Contents.swift
│ │ │ └── Sources
│ │ │ │ └── Stack.swift
│ │ ├── Challenge 3.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ └── Examples.xcplaygroundpage
│ │ │ └── Contents.swift
│ ├── Sources
│ │ ├── DoubleLinkedList.swift
│ │ ├── Queue.swift
│ │ ├── QueueArray.swift
│ │ ├── QueueLinkedList.swift
│ │ ├── QueueRingBuffer.swift
│ │ └── QueueStack.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── README.md
├── RefreshControl
├── README.md
├── RefreshControl.xcodeproj
│ ├── .xcodeSampleCode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ └── xcschemes
│ │ ├── RefreshControl.xcscheme
│ │ └── xcschememanagement.plist
├── RefreshControl
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ └── AppIcon.appiconset
│ │ │ └── Contents.json
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
└── RefreshControlTests
│ ├── Info.plist
│ └── RefreshControlTests.m
├── RegularExpression
├── README.md
├── RegularExpression.xcodeproj
│ ├── .xcodeSampleCode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ ├── RegularExpression.xcscheme
│ │ └── xcschememanagement.plist
├── RegularExpression
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── checkmark.imageset
│ │ │ ├── Contents.json
│ │ │ ├── checkmark.png
│ │ │ └── checkmark@2x.png
│ │ ├── exclamation.imageset
│ │ │ ├── Contents.json
│ │ │ ├── exclamation.png
│ │ │ └── exclamation@2x.png
│ │ ├── first.imageset
│ │ │ ├── Contents.json
│ │ │ └── first.pdf
│ │ └── second.imageset
│ │ │ ├── Contents.json
│ │ │ └── second.pdf
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── FirstViewController.h
│ ├── FirstViewController.m
│ ├── Info.plist
│ ├── SearchViewController.h
│ ├── SearchViewController.m
│ ├── SecondViewController.h
│ ├── SecondViewController.m
│ ├── ThirdViewController.h
│ ├── ThirdViewController.m
│ └── main.m
└── RegularExpressionTests
│ ├── Info.plist
│ └── RegularExpressionTests.m
├── RegularExpression模板
├── README.md
├── RegularExpression.xcodeproj
│ ├── .xcodeSampleCode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ ├── RegularExpression.xcscheme
│ │ └── xcschememanagement.plist
├── RegularExpression
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── checkmark.imageset
│ │ │ ├── Contents.json
│ │ │ ├── checkmark.png
│ │ │ └── checkmark@2x.png
│ │ ├── exclamation.imageset
│ │ │ ├── Contents.json
│ │ │ ├── exclamation.png
│ │ │ └── exclamation@2x.png
│ │ ├── first.imageset
│ │ │ ├── Contents.json
│ │ │ └── first.pdf
│ │ └── second.imageset
│ │ │ ├── Contents.json
│ │ │ └── second.pdf
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── FirstViewController.h
│ ├── FirstViewController.m
│ ├── Info.plist
│ ├── SearchViewController.h
│ ├── SearchViewController.m
│ ├── SecondViewController.h
│ ├── SecondViewController.m
│ ├── ThirdViewController.h
│ ├── ThirdViewController.m
│ └── main.m
└── RegularExpressionTests
│ ├── Info.plist
│ └── RegularExpressionTests.m
├── ResponderChain
├── README.md
├── ResponderChain.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── ResponderChain
│ ├── Animation
│ ├── AnimatedView.swift
│ └── AnimationViewController.swift
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AccentColor.colorset
│ │ └── Contents.json
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── FindFirstResponder
│ ├── FindResponderVC.swift
│ ├── ViewA.swift
│ ├── ViewA1.swift
│ ├── ViewA2.swift
│ ├── ViewB.swift
│ ├── ViewB1.swift
│ ├── ViewB2.swift
│ ├── ViewC.swift
│ ├── ViewC1.swift
│ └── ViewC2.swift
│ ├── Hit-TestingImplementation.swift
│ ├── HitTestSlop
│ ├── ButtonViewController.swift
│ └── HitTestSlop.swift
│ ├── Info.plist
│ ├── Item.swift
│ ├── MethodSwizzling.swift
│ ├── RouterEvent
│ ├── Router.swift
│ ├── RouterEventCell.swift
│ └── RouterEventVC.swift
│ ├── SceneDelegate.swift
│ ├── Trangle
│ ├── TriangleView.swift
│ └── TriangleViewController.swift
│ └── ViewController.swift
├── RunLoop
├── README.md
├── RunLoop.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── RunLoop
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ ├── PermanentThread.h
│ ├── PermanentThread.m
│ ├── SceneDelegate.h
│ ├── SceneDelegate.m
│ ├── SecViewController.h
│ ├── SecViewController.m
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
├── Runtime
├── README.md
├── Runtime.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── Runtime
│ ├── AllocateClass
│ ├── AllocateClass.h
│ └── AllocateClass.m
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
│ ├── AssociatedObjects
│ ├── UIView+DefaultColor.h
│ └── UIView+DefaultColor.m
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Engineer.h
│ ├── Engineer.m
│ ├── Exchange
│ ├── NSMutableArray+Extension.h
│ ├── NSMutableArray+Extension.m
│ ├── PremiumUser.h
│ ├── PremiumUser.m
│ ├── UIControl+Extension.h
│ ├── UIControl+Extension.m
│ ├── User.h
│ └── User.m
│ ├── Info.plist
│ ├── Person.h
│ ├── Person.m
│ ├── Q&A
│ ├── Browser.h
│ ├── Browser.m
│ ├── Safari.h
│ └── Safari.m
│ ├── SceneDelegate.h
│ ├── SceneDelegate.m
│ ├── Student.h
│ ├── Student.m
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
├── SQLite
├── README.md
├── SQLite.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── SQLite
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Contact.swift
│ ├── DetailViewController.swift
│ ├── Info.plist
│ ├── SQLiteManager.swift
│ ├── SceneDelegate.swift
│ └── ViewController.swift
├── ScrollView
├── README.md
├── ScrollView.xcodeproj
│ ├── .xcodeSampleCode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ ├── ScrollView.xcscheme
│ │ └── xcschememanagement.plist
├── ScrollView
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── five.imageset
│ │ │ ├── Contents.json
│ │ │ └── small_five.png
│ │ ├── four.imageset
│ │ │ ├── Contents.json
│ │ │ └── small_four.png
│ │ ├── image.imageset
│ │ │ ├── Contents.json
│ │ │ └── image.png
│ │ ├── one.imageset
│ │ │ ├── Contents.json
│ │ │ └── small_one.png
│ │ ├── six.imageset
│ │ │ ├── Contents.json
│ │ │ └── small_six.png
│ │ ├── three.imageset
│ │ │ ├── Contents.json
│ │ │ └── small_three.png
│ │ └── two.imageset
│ │ │ ├── Contents.json
│ │ │ └── small_two.png
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── Info.plist
│ ├── PageViewController.h
│ ├── PageViewController.m
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
└── ScrollViewTests
│ ├── Info.plist
│ └── ScrollViewTests.m
├── SimpleFactory
├── README.md
├── SimpleFactory.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── SimpleFactory
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Email.swift
│ ├── EmailFactory.swift
│ ├── Info.plist
│ ├── JobApplicant.swift
│ └── ViewController.swift
├── Stack
├── README.md
└── Stack.playground
│ ├── Contents.swift
│ ├── Sources
│ ├── Helpers.swift
│ └── Stack.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ └── contents.xcworkspacedata
├── StackView
├── StackView.xcodeproj
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ └── xcschemes
│ │ ├── StackView.xcscheme
│ │ └── xcschememanagement.plist
├── StackView
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── Heart.imageset
│ │ │ ├── Contents.json
│ │ │ ├── heart120.png
│ │ │ ├── heart240.png
│ │ │ └── heart360.png
│ │ ├── Star.imageset
│ │ │ ├── Contents.json
│ │ │ ├── star120.png
│ │ │ ├── star240.png
│ │ │ └── star360.png
│ │ ├── filledStar.imageset
│ │ │ ├── Contents.json
│ │ │ └── star.png
│ │ ├── first.imageset
│ │ │ ├── Contents.json
│ │ │ └── first.pdf
│ │ ├── icon.imageset
│ │ │ ├── Contents.json
│ │ │ └── icon.png
│ │ └── second.imageset
│ │ │ ├── Contents.json
│ │ │ └── second.pdf
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── FirstViewController.h
│ ├── FirstViewController.m
│ ├── Info.plist
│ ├── ThirdViewController.h
│ ├── ThirdViewController.m
│ └── main.m
└── StackViewTests
│ ├── Info.plist
│ └── StackViewTests.m
├── StrategyPattern
├── README.md
├── StrategyPattern.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── StrategyPattern
│ ├── AppDelegate
│ └── AppDelegate.swift
│ ├── Controller
│ ├── ShoppingCartViewController.swift
│ └── TotalPriceViewController.swift
│ ├── Model
│ └── Meal.swift
│ ├── Resource
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── delivery.imageset
│ │ │ ├── Contents.json
│ │ │ └── delivery.png
│ │ ├── meal1.imageset
│ │ │ ├── Contents.json
│ │ │ └── meal1.png
│ │ └── meal2.imageset
│ │ │ ├── Contents.json
│ │ │ └── meal3.png
│ └── Info.plist
│ ├── Strategy
│ ├── CalendarSelectionStrategy.swift
│ ├── CheckoutStrategy.swift
│ ├── DiscountStrategy.swift
│ ├── FreeShippingStrategy.swift
│ └── NormalPriceStrategy.swift
│ └── View
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ └── MealTableViewCell.swift
├── SwiftPointer
├── README.md
└── SwiftPointer.playground
│ ├── Contents.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ └── contents.xcworkspacedata
├── Synchronization
├── README.md
├── Synchronization.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── Synchronization
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── BaseDemo.swift
│ ├── BaseDemo2.h
│ ├── BaseDemo2.m
│ ├── Condition
│ ├── ConditionMutexDemo.swift
│ ├── NSConditionDemo.swift
│ └── NSConditionLockDemo.swift
│ ├── Info.plist
│ ├── Mutex
│ ├── NSLockDemo.swift
│ └── NormalMutexDemo.swift
│ ├── OSSpinLockDemo.swift
│ ├── OSUnfairLockDemo.swift
│ ├── ReadWrite
│ ├── BarrierQueueDemo.swift
│ └── RwriteLockDemo.swift
│ ├── Recursive
│ ├── NSRecursiveLockDemo.swift
│ └── RecursiveMutexDemo.swift
│ ├── SceneDelegate.swift
│ ├── SemaphoreDemo.swift
│ ├── SerialQueueDemo.swift
│ ├── Synchronization-Bridging-Header.h
│ ├── SynchronizedDemo.h
│ ├── SynchronizedDemo.m
│ └── ViewController.swift
├── Timer
├── Timer.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── Timer
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Contents.json
│ ├── rw-dark.colorset
│ │ └── Contents.json
│ ├── rw-green.colorset
│ │ └── Contents.json
│ └── rw-light.colorset
│ │ └── Contents.json
│ ├── Balloon.swift
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ ├── SceneDelegate.swift
│ ├── Task.swift
│ ├── TaskTableViewCell.swift
│ └── ViewController.swift
├── Timer模版
├── README.md
├── Timer.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── Timer
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Contents.json
│ ├── rw-dark.colorset
│ │ └── Contents.json
│ ├── rw-green.colorset
│ │ └── Contents.json
│ └── rw-light.colorset
│ │ └── Contents.json
│ ├── Balloon.swift
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ ├── SceneDelegate.swift
│ ├── Task.swift
│ ├── TaskTableViewCell.swift
│ └── ViewController.swift
├── TransitionAnimation
├── README.md
├── TransitionAnimation.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── TransitionAnimation
│ ├── Animator
│ ├── DismissAnimationController.swift
│ ├── PresentAnimationController.swift
│ └── SwipeInteractionController.swift
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Contents.json
│ ├── back_cat.imageset
│ │ ├── Contents.json
│ │ ├── wiggles@2x.jpeg
│ │ └── wiggles@3x.jpeg
│ ├── boring_fish.imageset
│ │ ├── Contents.json
│ │ ├── bongo@2x.jpeg
│ │ └── bongo@3x.jpeg
│ ├── epic_dog.imageset
│ │ ├── Contents.json
│ │ ├── wrigley@2x.jpeg
│ │ └── wrigley@3x.jpeg
│ ├── rw-logo.imageset
│ │ ├── Contents.json
│ │ └── Razewarelogo_1024.png
│ ├── rwdevcon-bg.imageset
│ │ ├── Contents.json
│ │ └── rwdevcon-bg.png
│ ├── sad_dog.imageset
│ │ ├── Contents.json
│ │ ├── rufus@2x.jpeg
│ │ └── rufus@3x.jpeg
│ └── sleepy_cat.imageset
│ │ ├── Contents.json
│ │ ├── rumble@2x.jpeg
│ │ └── rumble@3x.jpeg
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Data
│ ├── PetCardStore.swift
│ └── Pets.plist
│ ├── Helper
│ └── AnimationHelper.swift
│ ├── Info.plist
│ ├── Model
│ └── PetCard.swift
│ ├── SceneDelegate.swift
│ └── ViewControllers
│ ├── CardViewController.swift
│ ├── RevealViewController.swift
│ └── ViewController.swift
├── TransitionAnimation模版
├── README.md
├── TransitionAnimation.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── TransitionAnimation
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Contents.json
│ ├── back_cat.imageset
│ │ ├── Contents.json
│ │ ├── wiggles@2x.jpeg
│ │ └── wiggles@3x.jpeg
│ ├── boring_fish.imageset
│ │ ├── Contents.json
│ │ ├── bongo@2x.jpeg
│ │ └── bongo@3x.jpeg
│ ├── epic_dog.imageset
│ │ ├── Contents.json
│ │ ├── wrigley@2x.jpeg
│ │ └── wrigley@3x.jpeg
│ ├── rw-logo.imageset
│ │ ├── Contents.json
│ │ └── Razewarelogo_1024.png
│ ├── rwdevcon-bg.imageset
│ │ ├── Contents.json
│ │ └── rwdevcon-bg.png
│ ├── sad_dog.imageset
│ │ ├── Contents.json
│ │ ├── rufus@2x.jpeg
│ │ └── rufus@3x.jpeg
│ └── sleepy_cat.imageset
│ │ ├── Contents.json
│ │ ├── rumble@2x.jpeg
│ │ └── rumble@3x.jpeg
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Data
│ ├── PetCardStore.swift
│ └── Pets.plist
│ ├── Helper
│ └── AnimationHelper.swift
│ ├── Info.plist
│ ├── Model
│ └── PetCard.swift
│ ├── SceneDelegate.swift
│ └── ViewControllers
│ ├── CardViewController.swift
│ ├── RevealViewController.swift
│ └── ViewController.swift
├── Tree
├── GeneralPurposeTree.playground
│ ├── Pages
│ │ ├── Tree.xcplaygroundpage
│ │ │ └── Contents.swift
│ │ └── 按层打印.xcplaygroundpage
│ │ │ └── Contents.swift
│ ├── Sources
│ │ ├── Helpers.swift
│ │ ├── Queue.swift
│ │ └── TreeNode.swift
│ ├── contents.xcplayground
│ └── playground.xcworkspace
│ │ └── contents.xcworkspacedata
└── README.md
├── UIKitDynamics
├── README.md
├── UIKitDynamics.xcodeproj
│ ├── .xcodeSampleCode.plist
│ ├── project.pbxproj
│ ├── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcuserdata
│ │ │ └── ad.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ ├── xcdebugger
│ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ ├── UIKitDynamics.xcscheme
│ │ └── xcschememanagement.plist
├── UIKitDynamics
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── AppleLogo.imageset
│ │ │ ├── AppleLogo.jpg
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── circle.imageset
│ │ │ ├── Contents.json
│ │ │ └── first.pdf
│ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ ├── FifthViewController.h
│ ├── FifthViewController.m
│ ├── FirstViewController.h
│ ├── FirstViewController.m
│ ├── FourthViewController.h
│ ├── FourthViewController.m
│ ├── Info.plist
│ ├── SecondViewController.h
│ ├── SecondViewController.m
│ ├── TabBarController.h
│ ├── TabBarController.m
│ ├── ThirdViewController.h
│ ├── ThirdViewController.m
│ └── main.m
└── UIKitDynamicsTests
│ ├── Info.plist
│ └── UIKitDynamicsTests.m
├── URLSession
├── README.md
├── URLSession.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── URLSession
│ ├── AppDelegate.swift
│ ├── Models
│ ├── MusicItem.swift
│ ├── Tracks.swift
│ └── VideoItem.swift
│ ├── Networking
│ ├── BackgroundDownloadContext.swift
│ ├── BackgroundDownloadService.swift
│ ├── DownloadService.swift
│ └── QueryService.swift
│ ├── Other
│ └── RetrieveCacheURL.swift
│ ├── Resources
│ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ ├── first.imageset
│ │ │ ├── Contents.json
│ │ │ └── first.pdf
│ │ └── second.imageset
│ │ │ ├── Contents.json
│ │ │ └── second.pdf
│ ├── Info.plist
│ └── media.json
│ ├── ViewControllers
│ ├── BackgroundDownloadViewController.swift
│ └── SearchViewController.swift
│ └── Views
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── TrackCell.swift
│ └── VideoCell.swift
├── UserNotifications
├── Objective-C
│ ├── NotificationContent
│ │ ├── Base.lproj
│ │ │ └── MainInterface.storyboard
│ │ ├── Info.plist
│ │ ├── NotificationViewController.h
│ │ └── NotificationViewController.m
│ ├── NotificationService
│ │ ├── Info.plist
│ │ ├── NotificationService.h
│ │ └── NotificationService.m
│ ├── UserNotifications Objective-C.xcodeproj
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── UserNotifications Objective-C
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ └── Contents.json
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── DetailViewControllers
│ │ ├── CalendarViewController.h
│ │ ├── CalendarViewController.m
│ │ ├── LocationViewController.h
│ │ ├── LocationViewController.m
│ │ ├── TimeIntervalViewController.h
│ │ └── TimeIntervalViewController.m
│ │ ├── Info.plist
│ │ ├── NotificationHandler.h
│ │ ├── NotificationHandler.m
│ │ ├── TableViewController.h
│ │ ├── TableViewController.m
│ │ ├── UserNotifications Objective-C.entitlements
│ │ └── main.m
├── README.md
└── Swift
│ ├── NotificationContent
│ ├── Base.lproj
│ │ └── MainInterface.storyboard
│ ├── Info.plist
│ └── NotificationViewController.swift
│ ├── NotificationService
│ ├── Info.plist
│ └── NotificationService.swift
│ ├── UserNotification Swift.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── UserNotification Swift
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── DetailViewControllers
│ ├── CalendarViewController.swift
│ ├── LocationViewController.swift
│ └── TimeIntervalViewController.swift
│ ├── Info.plist
│ ├── NotificationHandler.swift
│ ├── TableViewController.swift
│ └── UserNotification Swift.entitlements
├── VisualEffectView
├── README.md
├── VisualEffectView.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── VisualEffectView
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AccentColor.colorset
│ │ └── Contents.json
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ ├── SceneDelegate.swift
│ └── ViewController.swift
├── WebKit
├── README.md
├── WebKit.xcodeproj
│ ├── .xcodesamplecode.plist
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── WebKit
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Info.plist
│ ├── NavigationDelegateHandler
│ ├── NavigationDelegateHandler.h
│ └── NavigationDelegateHandler.m
│ ├── Resourece
│ ├── NSHipster
│ │ ├── WKWebView - NSHipster.htm
│ │ ├── application-dc6f7717bbdcd904bb07dc6a415f4ca0cd3cd82b5cba668ecf8fb12894a3cbc1.js
│ │ ├── mattt-93904827ef54896bb67f3a0d4abf548b9ecc93a51536bbc3326f24630512727d.jpg
│ │ └── tracker.js
│ └── web.htm
│ ├── ScriptMessageHandler
│ ├── ContentsViewController.h
│ ├── ContentsViewController.m
│ ├── Entry.h
│ ├── Entry.m
│ ├── ScriptMessageHandler.h
│ ├── ScriptMessageHandler.m
│ ├── fetch.js
│ └── hide.js
│ ├── UIDelegateHandler
│ ├── UIDelegateHandler.h
│ └── UIDelegateHandler.m
│ ├── URLSchemeHandler
│ ├── ImagePicker.h
│ ├── ImagePicker.m
│ ├── URLSchemeHandler.h
│ ├── URLSchemeHandler.m
│ └── customScheme.htm
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
├── Widget
├── Objective-C
│ ├── UsedSpaceWidget
│ │ ├── Base.lproj
│ │ │ └── MainInterface.storyboard
│ │ ├── Info.plist
│ │ ├── TodayViewController.h
│ │ ├── TodayViewController.m
│ │ └── UsedSpaceWidget.entitlements
│ ├── Widget Objective-C.xcodeproj
│ │ ├── .xcodesamplecode.plist
│ │ ├── project.pbxproj
│ │ └── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ └── Widget Objective-C
│ │ ├── AppDelegate.h
│ │ ├── AppDelegate.m
│ │ ├── Assets.xcassets
│ │ ├── AppIcon.appiconset
│ │ │ └── Contents.json
│ │ ├── Contents.json
│ │ └── first.imageset
│ │ │ ├── Contents.json
│ │ │ └── first.pdf
│ │ ├── Base.lproj
│ │ ├── LaunchScreen.storyboard
│ │ └── Main.storyboard
│ │ ├── FirstVC.h
│ │ ├── FirstVC.m
│ │ ├── Info.plist
│ │ ├── SecondVC.h
│ │ ├── SecondVC.m
│ │ ├── Widget Objective-C.entitlements
│ │ └── main.m
├── README.md
└── Swift
│ ├── UsedSpaceWidget
│ ├── Base.lproj
│ │ └── MainInterface.storyboard
│ ├── Info.plist
│ ├── TodayViewController.swift
│ └── UsedSpaceWidget.entitlements
│ ├── Widget Swift.xcodeproj
│ ├── .xcodesamplecode.plist
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── Widget Swift
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ ├── Contents.json
│ └── first.imageset
│ │ ├── Contents.json
│ │ └── first.pdf
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── FirstVC.swift
│ ├── Info.plist
│ ├── SecondVC.swift
│ └── Widget Swift.entitlements
├── category、load、initialize的本质
├── README.md
├── category、load、initialize的本质.xcodeproj
│ ├── project.pbxproj
│ └── project.xcworkspace
│ │ └── contents.xcworkspacedata
└── category、load、initialize的本质
│ ├── AppDelegate.h
│ ├── AppDelegate.m
│ ├── Assets.xcassets
│ ├── AccentColor.colorset
│ │ └── Contents.json
│ ├── AppIcon.appiconset
│ │ └── Contents.json
│ └── Contents.json
│ ├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
│ ├── Category
│ ├── Child+Test1.cpp
│ ├── Child+Test1.h
│ ├── Child+Test1.m
│ ├── Child+Test2.cpp
│ ├── Child+Test2.h
│ ├── Child+Test2.m
│ ├── Child.h
│ └── Child.m
│ ├── Info.plist
│ ├── Load&Initialize
│ ├── Cat.h
│ ├── Cat.m
│ ├── Dog.h
│ ├── Dog.m
│ ├── Person+Test1.h
│ ├── Person+Test1.m
│ ├── Person+Test2.h
│ ├── Person+Test2.m
│ ├── Person.h
│ ├── Person.m
│ ├── Student+Test1.h
│ ├── Student+Test1.m
│ ├── Student+Test2.h
│ ├── Student+Test2.m
│ ├── Student.h
│ └── Student.m
│ ├── SceneDelegate.h
│ ├── SceneDelegate.m
│ ├── ViewController.h
│ ├── ViewController.m
│ └── main.m
└── copy&mutableCopy
├── README.md
├── copy&mutableCopy.xcodeproj
├── .xcodesamplecode.plist
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ ├── xcshareddata
│ │ └── IDEWorkspaceChecks.plist
│ └── xcuserdata
│ │ └── ad.xcuserdatad
│ │ └── UserInterfaceState.xcuserstate
└── xcuserdata
│ └── ad.xcuserdatad
│ ├── xcdebugger
│ └── Breakpoints_v2.xcbkptlist
│ └── xcschemes
│ ├── copy&mutableCopy.xcscheme
│ └── xcschememanagement.plist
├── copy&mutableCopy
├── AppDelegate.h
├── AppDelegate.m
├── Assets.xcassets
│ └── AppIcon.appiconset
│ │ └── Contents.json
├── Base.lproj
│ ├── LaunchScreen.storyboard
│ └── Main.storyboard
├── Info.plist
├── Person.h
├── Person.m
├── ViewController.h
├── ViewController.m
└── main.m
└── copy&mutableCopyTests
├── Info.plist
└── copy_mutableCopyTests.m
/AVLTree/AVLTree.playground/Sources/Helpers.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public func example(of description: String, action: () -> Void) {
4 | print("--- Example of \(description) ---")
5 | action()
6 | print()
7 | }
8 |
--------------------------------------------------------------------------------
/AVLTree/AVLTree.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/AVLTree/AVLTree.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AVLTree/README.md:
--------------------------------------------------------------------------------
1 | ### AVL 树
2 |
3 | AVL 树和二叉搜索树有很多共同点,只是 AVL 树增加了自平衡的部分。
4 |
5 | 通过旋转 AVL 树恢复平衡,旋转有左旋、右旋两种。共有四种类型失衡:LL型、RR型、LR型、RL型。
6 |
7 | 详细介绍查看下面文章:
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/AbstractFactory/AbstractFactory.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AbstractFactory/AbstractFactory/Alert.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Alert.swift
3 | // AbstractFactory
4 | //
5 | // Created by pro648 on 2019/7/19.
6 | // Copyright © 2019 pro648. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol Alert {
12 | func setTitle(_ title: String) -> Void
13 | func show() -> Void
14 | }
15 |
--------------------------------------------------------------------------------
/AbstractFactory/AbstractFactory/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/AbstractFactory/AbstractFactory/Button.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Button.swift
3 | // AbstractFactory
4 | //
5 | // Created by pro648 on 2019/7/19.
6 | // Copyright © 2019 pro648. All rights reserved.
7 | //
8 |
9 | import Foundation
10 |
11 | protocol Button {
12 | func setTitle(_ title: String) -> Void
13 | func show() -> Void
14 | }
15 |
--------------------------------------------------------------------------------
/AdapterPattern/AdapterPattern.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AdapterPattern/AdapterPattern/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/AlertController/AlertController.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AlertController/AlertController.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/AlertController/AlertController.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/AlertController/AlertController/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // AlertController
4 | //
5 | // Created by ad on 10/03/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/AlertController/AlertController/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // AlertController
4 | //
5 | // Created by ad on 10/03/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/AssociatedObject/AssociatedObject.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AssociatedObject/AssociatedObject/Child.m:
--------------------------------------------------------------------------------
1 | //
2 | // Child.m
3 | // AssociatedObject
4 | //
5 | // Created by pro648 on 2021/2/2.
6 | //
7 |
8 | #import "Child.h"
9 |
10 | @implementation Child
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/AutoLayout/AutoLayout.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/AutoLayout/AutoLayout.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/AutoLayout/AutoLayout.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/AutoLayout/AutoLayout/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // AutoLayout
4 | //
5 | // Created by ad on 04/04/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/AutoLayout/AutoLayout/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // AutoLayout
4 | //
5 | // Created by ad on 04/04/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/Autoclosure/Autoclosure.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Autoclosure/Autoclosure.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Autoclosure/README.md:
--------------------------------------------------------------------------------
1 | ### @autoclosure的使用
2 |
3 | 函数参数可以使用返回值类型相同的无参闭包替换。这种类型的闭包可以使用`@autoclosure`标记。使用`@autoclosure`标记后,闭包前后不需要添加大括号,自动闭包会自动添加大括号。使用`@autoclosure`标记后,传入的函数不会立即执行,会延迟到函数体内调用才执行。
4 |
5 | 详细介绍查看下面文章:
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/BinarySearch/BinarySearch.playground/Sources/Helpers.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public func example(of description: String, action: () -> Void) {
4 | print("--- Example of \(description) ---")
5 | action()
6 | print()
7 | }
8 |
--------------------------------------------------------------------------------
/BinarySearch/BinarySearch.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/BinarySearchTree/BinarySearchTree.playground/Sources/Helpers.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public func example(of description: String, action: () -> Void) {
4 | print("--- Example of \(description) ---")
5 | action()
6 | print()
7 | }
8 |
--------------------------------------------------------------------------------
/BinarySearchTree/BinarySearchTree.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/BinaryTree/BinaryTree.playground/Sources/Helpers.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public func example(of description: String, action: () -> Void) {
4 | print("--- Example of \(description) ---")
5 | action()
6 | print()
7 | }
8 |
--------------------------------------------------------------------------------
/BinaryTree/BinaryTree.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Block/Block.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Block/Block.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Block/Block.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Block/Block.xcodeproj/xcuserdata/ad.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/Block/Block/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // Block
4 | //
5 | // Created by ad on 08/06/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/Block/Block/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // Block
4 | //
5 | // Created by ad on 08/06/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | int gGlobalVar = 5;
12 |
13 | @interface ViewController : UIViewController
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/BuilderPattern/BuilderPattern.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/BuilderPattern/BuilderPattern/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/CollectionView/CollectionView.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/CollectionView/CollectionView.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/CollectionView/CollectionView/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // CollectionView
4 | //
5 | // Created by ad on 08/12/2017.
6 | //
7 |
8 | #import
9 |
10 | @interface AppDelegate : UIResponder
11 |
12 | @property (strong, nonatomic) UIWindow *window;
13 |
14 |
15 | @end
16 |
17 |
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/1.imageset/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView/Assets.xcassets/1.imageset/1.jpg
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/2.imageset/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView/Assets.xcassets/2.imageset/2.jpg
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/3.imageset/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView/Assets.xcassets/3.imageset/3.jpg
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/4.imageset/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView/Assets.xcassets/4.imageset/4.jpg
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/5.imageset/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView/Assets.xcassets/5.imageset/5.jpg
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/6.imageset/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView/Assets.xcassets/6.imageset/6.jpg
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/A.imageset/11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView/Assets.xcassets/A.imageset/11.jpg
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/B.imageset/12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView/Assets.xcassets/B.imageset/12.jpg
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/C.imageset/13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView/Assets.xcassets/C.imageset/13.jpg
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/D.imageset/14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView/Assets.xcassets/D.imageset/14.jpg
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/E.imageset/15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView/Assets.xcassets/E.imageset/15.jpg
--------------------------------------------------------------------------------
/CollectionView/CollectionView/Assets.xcassets/F.imageset/16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CollectionView/CollectionView/Assets.xcassets/F.imageset/16.jpg
--------------------------------------------------------------------------------
/CollectionView/CollectionView/CollectionReusableView.h:
--------------------------------------------------------------------------------
1 | //
2 | // CollectionReusableView.h
3 | // CollectionView
4 | //
5 | // Created by ad on 08/12/2017.
6 | //
7 |
8 | #import
9 |
10 | @interface CollectionReusableView : UICollectionReusableView
11 |
12 | @property (strong, nonatomic) UILabel *label;
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/CollectionView/CollectionView/SimpleModel.h:
--------------------------------------------------------------------------------
1 | //
2 | // SimpleModel.h
3 | // CollectionView
4 | //
5 | // Created by ad on 12/12/2017.
6 | //
7 |
8 | #import
9 |
10 | @interface SimpleModel : NSObject
11 |
12 | @property (strong, nonatomic) NSMutableArray *model;
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/CollectionView/CollectionView/UIColor+RandomColor.h:
--------------------------------------------------------------------------------
1 | //
2 | // UIColor+RandomColor.h
3 | // CollectionView
4 | //
5 | // Created by ad on 08/12/2017.
6 | //
7 |
8 | #import
9 |
10 | @interface UIColor (RandomColor)
11 |
12 | + (UIColor *)randomColor;
13 |
14 | @end
15 |
--------------------------------------------------------------------------------
/CollectionView/CollectionView/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // CollectionView
4 | //
5 | // Created by ad on 08/12/2017.
6 | //
7 |
8 | #import
9 |
10 | @interface ViewController : UIViewController
11 |
12 |
13 | @end
14 |
15 |
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Assets.xcassets/Ball.imageset/Ball@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Assets.xcassets/Ball.imageset/Ball@2x.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Assets.xcassets/Door.imageset/Door.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Assets.xcassets/Door.imageset/Door.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Assets.xcassets/Door.imageset/Door@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Assets.xcassets/Door.imageset/Door@2x.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Assets.xcassets/RadialGradient.imageset/camera_flash_selected@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Assets.xcassets/RadialGradient.imageset/camera_flash_selected@2x.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Assets.xcassets/RadialGradient.imageset/camera_flash_selected@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Assets.xcassets/RadialGradient.imageset/camera_flash_selected@3x.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Assets.xcassets/Rounded.imageset/Rounded@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Assets.xcassets/Rounded.imageset/Rounded@2x.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Assets.xcassets/Ship.imageset/Ship@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Assets.xcassets/Ship.imageset/Ship@2x.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Assets.xcassets/Snowman.imageset/Snowman@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Assets.xcassets/Snowman.imageset/Snowman@2x.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Assets.xcassets/Spark.imageset/Spark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Assets.xcassets/Spark.imageset/Spark.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Assets.xcassets/balloon.imageset/balloon@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Assets.xcassets/balloon.imageset/balloon@2x.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Assets.xcassets/balloon.imageset/balloon@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Assets.xcassets/balloon.imageset/balloon@3x.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_00_00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_00_00.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_00_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_00_01.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_00_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_00_02.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_00_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_00_03.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_00_04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_00_04.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_00_05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_00_05.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_00_06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_00_06.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_00_07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_00_07.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_01_00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_01_00.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_01_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_01_01.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_01_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_01_02.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_01_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_01_03.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_01_04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_01_04.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_01_05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_01_05.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_01_06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_01_06.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_01_07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_01_07.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_02_00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_02_00.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_02_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_02_01.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_02_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_02_02.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_02_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_02_03.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_02_04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_02_04.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_02_05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_02_05.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_02_06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_02_06.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_02_07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_02_07.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_03_00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_03_00.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_03_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_03_01.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_03_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_03_02.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_03_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_03_03.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_03_04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_03_04.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_03_05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_03_05.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_03_06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_03_06.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_03_07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_03_07.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_04_00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_04_00.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_04_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_04_01.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_04_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_04_02.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_04_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_04_03.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_04_04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_04_04.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_04_05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_04_05.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_04_06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_04_06.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_04_07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_04_07.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_05_00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_05_00.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_05_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_05_01.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_05_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_05_02.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_05_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_05_03.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_05_04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_05_04.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_05_05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_05_05.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_05_06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_05_06.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_05_07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_05_07.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_06_00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_06_00.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_06_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_06_01.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_06_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_06_02.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_06_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_06_03.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_06_04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_06_04.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_06_05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_06_05.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_06_06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_06_06.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_06_07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_06_07.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_07_00.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_07_00.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_07_01.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_07_01.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_07_02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_07_02.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_07_03.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_07_03.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_07_04.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_07_04.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_07_05.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_07_05.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_07_06.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_07_06.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Image/Snowman_07_07.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Image/Snowman_07_07.jpg
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Item.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Item.swift
3 | // CoreAnimation
4 | //
5 | // Created by pro648 on 2020/8/9.
6 | // Copyright © 2020 pro648. All rights reserved.
7 | //
8 |
9 | struct Item {
10 | var title: String
11 | var clsNameStr: String
12 | }
13 |
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Performance/Anchor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Performance/Anchor.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Performance/Cone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Performance/Cone.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Performance/Igloo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Performance/Igloo.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Performance/Key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Performance/Key.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Performance/Man.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Performance/Man.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Performance/Spaceship.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Performance/Spaceship.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0150.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0154.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0154.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0163.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0163.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0169.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0169.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0170.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0170.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0173.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0173.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0174.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0174.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0180.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0180.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0181.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0181.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0184.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0184.png
--------------------------------------------------------------------------------
/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0197.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/CoreAnimation/CoreAnimation/Vacation Photos/IMG_0197.png
--------------------------------------------------------------------------------
/CoreGraphics-1/CoreGraphics-1.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/CoreGraphics-1/CoreGraphics-1/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/CoreGraphics-1/CoreGraphics-1/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/CoreGraphics-2/CoreGraphics-1.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/CoreGraphics-2/CoreGraphics-1/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/CoreGraphics-2/CoreGraphics-1/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/CoreGraphics-2模版/CoreGraphics-1.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/CoreGraphics-2模版/CoreGraphics-1/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/CoreGraphics-2模版/CoreGraphics-1/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/CoreGraphics-3/CoreGraphics-1.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/CoreGraphics-3/CoreGraphics-1/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/CoreGraphics-3/CoreGraphics-1/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/CoreGraphics-3/CoreGraphics-1/MedalDrawing.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/CoreGraphics-3/CoreGraphics-1/MedalDrawing.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Delegation&Notification/Delegation&Notification.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Delegation&Notification/Delegation&Notification.xcodeproj/xcuserdata/ad.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/Delegation&Notification/Delegation&Notification/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // Delegation&Notification
4 | //
5 | // Created by ad on 19/02/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 | @end
14 |
15 |
--------------------------------------------------------------------------------
/Delegation&Notification/README.md:
--------------------------------------------------------------------------------
1 | ### 委托、通知传值的用法与区别
2 |
3 | 低耦合性是良好程序的特性。低耦合性程序可读性和可维护性比较好。Cocoa中的委托、通知功能可以使低耦合性更易实现。
4 |
5 | 这个demo通过使用委托(delegation)和通知(NSNotification)进行传值,在这个过程中学习如何使用委托、通知,及其区别。
6 |
7 | 详细介绍查看下面文章:
8 |
9 |
--------------------------------------------------------------------------------
/Delegation&Notification模板/Delegation&Notification.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Delegation&Notification模板/Delegation&Notification/SecondViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SecondViewController.h
3 | // Delegation&Notification
4 | //
5 | // Created by ad on 19/02/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface SecondViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Delegation&Notification模板/Delegation&Notification/ThirdViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ThirdViewController.h
3 | // Delegation&Notification
4 | //
5 | // Created by ad on 19/02/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ThirdViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Delegation&Notification模板/Delegation&Notification/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // Delegation&Notification
4 | //
5 | // Created by ad on 19/02/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 | @end
14 |
15 |
--------------------------------------------------------------------------------
/DependencyInversionPrinciple/DependencyInversionPrinciple.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/DependencyInversionPrinciple/DependencyInversionPrinciple/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/DependencyInversionPrinciple/DependencyInversionPrinciple/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/DisplayViewController/DisplayViewController.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/DisplayViewController/DisplayViewController/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/DisplayViewController/DisplayViewController/FirstVC.h:
--------------------------------------------------------------------------------
1 | //
2 | // FirstVC.h
3 | // DisplayViewController
4 | //
5 | // Created by pro648 on 14/04/2018.
6 | // Copyright © 2018 pro648. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface FirstVC : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/FileManager/FileManager.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/FileManager/FileManager.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/FileManager/FileManager.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/FileManager/FileManager/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // FileManager
4 | //
5 | // Created by ad on 25/07/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/FileManager/FileManager/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // FileManager
4 | //
5 | // Created by ad on 25/07/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/GestureRecognizer/GestureRecognizer.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/GestureRecognizer/GestureRecognizer.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GestureRecognizer/GestureRecognizer.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/GestureRecognizer/GestureRecognizer/Assets.xcassets/first.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "first.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/GestureRecognizer/GestureRecognizer/Assets.xcassets/first.imageset/first.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GestureRecognizer/GestureRecognizer/Assets.xcassets/first.imageset/first.pdf
--------------------------------------------------------------------------------
/GestureRecognizer/GestureRecognizer/Assets.xcassets/second.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "second.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/GestureRecognizer/GestureRecognizer/Assets.xcassets/second.imageset/second.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GestureRecognizer/GestureRecognizer/Assets.xcassets/second.imageset/second.pdf
--------------------------------------------------------------------------------
/GestureRecognizer/GestureRecognizer/PanViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // PanViewController.h
3 | // GestureRecognizer
4 | //
5 | // Created by ad on 19/03/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface PanViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/GestureRecognizer/GestureRecognizer/PinchViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // PinchViewController.h
3 | // GestureRecognizer
4 | //
5 | // Created by ad on 19/03/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface PinchViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/GestureRecognizer/GestureRecognizer/RotationViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // RotationViewController.h
3 | // GestureRecognizer
4 | //
5 | // Created by ad on 19/03/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface RotationViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/GestureRecognizer/GestureRecognizer/SwipeViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SwipeViewController.h
3 | // GestureRecognizer
4 | //
5 | // Created by ad on 19/03/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface SwipeViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/GestureRecognizer/GestureRecognizer/TapViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // TapViewController.h
3 | // GestureRecognizer
4 | //
5 | // Created by ad on 19/03/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface TapViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch.xcworkspace/xcuserdata/pro648.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch.xcworkspace/xcuserdata/pro648.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch.xcworkspace/xcuserdata/pro648.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-1024.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40@2x-1.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/background.imageset/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/background.imageset/background.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/background.imageset/background@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/background.imageset/background@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/photoDownloadError.imageset/ic_error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/photoDownloadError.imageset/ic_error.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/photoDownloadError.imageset/ic_error_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/photoDownloadError.imageset/ic_error_2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/photoDownloadError.imageset/ic_error_3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/photoDownloadError.imageset/ic_error_3x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/photoDownloading.imageset/ic_insert_photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/photoDownloading.imageset/ic_insert_photo.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/photoDownloading.imageset/ic_insert_photo_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/photoDownloading.imageset/ic_insert_photo_2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/photoDownloading.imageset/ic_insert_photo_3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch/GrandCentralDispatch/Assets.xcassets/photoDownloading.imageset/ic_insert_photo_3x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch/GrandCentralDispatch/CollectionViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // CollectionViewController.h
3 | // GrandCentralDispatch
4 | //
5 | // Created by ad on 07/02/2018.
6 | //
7 |
8 | #import
9 |
10 | @interface CollectionViewController : UICollectionViewController
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/GrandCentralDispatch/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, '9.0'
2 | inhibit_all_warnings!
3 |
4 | target 'GrandCentralDispatch' do
5 | pod 'ELCImagePickerController', '~> 0.2.0'
6 |
7 | target 'GrandCentralDispatchTests' do
8 | inherit! :search_paths
9 | # Pods for testing
10 | end
11 |
12 | end
13 |
--------------------------------------------------------------------------------
/GrandCentralDispatch/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - ELCImagePickerController (0.2.0)
3 |
4 | DEPENDENCIES:
5 | - ELCImagePickerController (~> 0.2.0)
6 |
7 | SPEC CHECKSUMS:
8 | ELCImagePickerController: b1b7084434a7d49f2cfc916bde1f3ba353d38de9
9 |
10 | PODFILE CHECKSUM: 196e54ccc016fb1484999b31d9d3e0c4b77b01d7
11 |
12 | COCOAPODS: 1.3.1
13 |
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch.xcworkspace/xcuserdata/pro648.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch.xcworkspace/xcuserdata/pro648.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-1024.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20-ipad.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20@2x-ipad.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-20@3x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29-ipad.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29@2x-ipad.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40@2x-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40@2x-1.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/background.imageset/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/background.imageset/background.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/background.imageset/background@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/background.imageset/background@2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/photoDownloadError.imageset/ic_error.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/photoDownloadError.imageset/ic_error.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/photoDownloadError.imageset/ic_error_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/photoDownloadError.imageset/ic_error_2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/photoDownloadError.imageset/ic_error_3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/photoDownloadError.imageset/ic_error_3x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/photoDownloading.imageset/ic_insert_photo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/photoDownloading.imageset/ic_insert_photo.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/photoDownloading.imageset/ic_insert_photo_2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/photoDownloading.imageset/ic_insert_photo_2x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/photoDownloading.imageset/ic_insert_photo_3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/GrandCentralDispatch模板/GrandCentralDispatch/Assets.xcassets/photoDownloading.imageset/ic_insert_photo_3x.png
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/GrandCentralDispatch/CollectionViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // CollectionViewController.h
3 | // GrandCentralDispatch
4 | //
5 | // Created by ad on 07/02/2018.
6 | //
7 |
8 | #import
9 |
10 | @interface CollectionViewController : UICollectionViewController
11 |
12 | @end
13 |
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, '9.0'
2 | inhibit_all_warnings!
3 |
4 | target 'GrandCentralDispatch' do
5 | pod 'ELCImagePickerController', '~> 0.2.0'
6 |
7 | target 'GrandCentralDispatchTests' do
8 | inherit! :search_paths
9 | # Pods for testing
10 | end
11 |
12 | end
13 |
--------------------------------------------------------------------------------
/GrandCentralDispatch模板/Podfile.lock:
--------------------------------------------------------------------------------
1 | PODS:
2 | - ELCImagePickerController (0.2.0)
3 |
4 | DEPENDENCIES:
5 | - ELCImagePickerController (~> 0.2.0)
6 |
7 | SPEC CHECKSUMS:
8 | ELCImagePickerController: b1b7084434a7d49f2cfc916bde1f3ba353d38de9
9 |
10 | PODFILE CHECKSUM: 196e54ccc016fb1484999b31d9d3e0c4b77b01d7
11 |
12 | COCOAPODS: 1.3.1
13 |
--------------------------------------------------------------------------------
/ImageResizing/ImageResizing.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ImageResizing/ImageResizing/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/ImageResizing/ImageResizing/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/ImageResizing/ImageResizing/visibleEarth.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/ImageResizing/ImageResizing/visibleEarth.jpg
--------------------------------------------------------------------------------
/InterfaceSegregationPrinciple/InterfaceSegregationPrinciple.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/InterfaceSegregationPrinciple/InterfaceSegregationPrinciple.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/IteratorPattern/IteratorPattern.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/IteratorPattern/IteratorPattern/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/KVC&KVODemo/KVC&KVODemo.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/KVC&KVODemo/KVC&KVODemo.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/KVC&KVODemo/KVC&KVODemo.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/KVC&KVODemo/KVC&KVODemo/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // KVC&KVODemo
4 | //
5 | // Created by ad on 01/03/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/KVC&KVODemo/KVC&KVODemo/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // KVC&KVODemo
4 | //
5 | // Created by ad on 01/03/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/KVC&KVO的本质/KVC&KVO的本质.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/KVC&KVO的本质/KVC&KVO的本质/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // KVC&KVO的本质
4 | //
5 | // Created by pro648 on 2021/1/24.
6 | //
7 |
8 | #import
9 |
10 | @interface AppDelegate : UIResponder
11 |
12 |
13 | @end
14 |
15 |
--------------------------------------------------------------------------------
/KVC&KVO的本质/KVC&KVO的本质/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/KVC&KVO的本质/KVC&KVO的本质/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/KVC&KVO的本质/KVC&KVO的本质/KVC/Observer.h:
--------------------------------------------------------------------------------
1 | //
2 | // Observer.h
3 | // KVC&KVO的本质
4 | //
5 | // Created by pro648 on 2021/1/24.
6 | //
7 |
8 | #import
9 |
10 | NS_ASSUME_NONNULL_BEGIN
11 |
12 | @interface Observer : NSObject
13 |
14 | @end
15 |
16 | NS_ASSUME_NONNULL_END
17 |
--------------------------------------------------------------------------------
/KVC&KVO的本质/KVC&KVO的本质/KVO/Child.h:
--------------------------------------------------------------------------------
1 | //
2 | // Child.h
3 | // KVC&KVO的本质
4 | //
5 | // Created by pro648 on 2021/1/21.
6 | //
7 |
8 | #import
9 |
10 | NS_ASSUME_NONNULL_BEGIN
11 |
12 | @interface Child : NSObject
13 |
14 | @property (nonatomic, assign) int age;
15 |
16 | @end
17 |
18 | NS_ASSUME_NONNULL_END
19 |
--------------------------------------------------------------------------------
/KVC&KVO的本质/KVC&KVO的本质/KVO/NSKVONotifying_Child.h:
--------------------------------------------------------------------------------
1 | //
2 | // NSKVONotifying_Child.h
3 | // KVC&KVO的本质
4 | //
5 | // Created by pro648 on 2021/1/21.
6 | //
7 |
8 | #import "Child.h"
9 |
10 | NS_ASSUME_NONNULL_BEGIN
11 |
12 | @interface NSKVONotifying_Child : Child
13 |
14 | @end
15 |
16 | NS_ASSUME_NONNULL_END
17 |
--------------------------------------------------------------------------------
/KVC&KVO的本质/KVC&KVO的本质/SceneDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // SceneDelegate.h
3 | // KVC&KVO的本质
4 | //
5 | // Created by pro648 on 2021/1/24.
6 | //
7 |
8 | #import
9 |
10 | @interface SceneDelegate : UIResponder
11 |
12 | @property (strong, nonatomic) UIWindow * window;
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/KVC&KVO的本质/KVC&KVO的本质/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // KVC&KVO的本质
4 | //
5 | // Created by pro648 on 2021/1/24.
6 | //
7 |
8 | #import
9 |
10 | @interface ViewController : UIViewController
11 |
12 |
13 | @end
14 |
15 |
--------------------------------------------------------------------------------
/KeyedArchiver/KeyedArchiver.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/KeyedArchiver/KeyedArchiver.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/KeyedArchiver/KeyedArchiver.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/KeyedArchiver/KeyedArchiver/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // KeyedArchiver
4 | //
5 | // Created by ad on 27/07/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/KeyedArchiver/KeyedArchiver/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // KeyedArchiver
4 | //
5 | // Created by ad on 27/07/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/LinkedList/LinkedList.playground/Sources/Helpers.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public func example(of description: String, action: () -> Void) {
4 | print("--- Example of \(description) ---")
5 | action()
6 | print()
7 | }
8 |
--------------------------------------------------------------------------------
/LinkedList/LinkedList.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/LiskovSubstitutionPrinciple/LiskovSubstitutionPrinciple.playground/Sources/LSP&OCP/TriangleShape.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public class TriangleShape: Shape {
4 | public func draw() {
5 | // draw the triangle
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/LiskovSubstitutionPrinciple/LiskovSubstitutionPrinciple.playground/Sources/LSP/Geometrics.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public protocol Geometrics {
4 | func area() -> Int
5 | }
6 |
--------------------------------------------------------------------------------
/LiskovSubstitutionPrinciple/LiskovSubstitutionPrinciple.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/LiskovSubstitutionPrinciple/LiskovSubstitutionPrinciple.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/Launch.imageset/Launch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/Launch.imageset/Launch.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/Launch.imageset/Launch@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/Launch.imageset/Launch@2x.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/Launch.imageset/Launch@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/Launch.imageset/Launch@3x.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/bad.imageset/bad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/bad.imageset/bad.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/bad.imageset/bad@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/bad.imageset/bad@2x.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/bad.imageset/bad@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/bad.imageset/bad@3x.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/good.imageset/good.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/good.imageset/good.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/good.imageset/good@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/good.imageset/good@2x.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/good.imageset/good@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/good.imageset/good@3x.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/great.imageset/great.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/great.imageset/great.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/great.imageset/great@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/great.imageset/great@2x.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/great.imageset/great@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/great.imageset/great@3x.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/meh.imageset/meh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/meh.imageset/meh.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/meh.imageset/meh@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/meh.imageset/meh@2x.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/meh.imageset/meh@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/meh.imageset/meh@3x.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/terrible.imageset/terrible.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/terrible.imageset/terrible.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/terrible.imageset/terrible@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/terrible.imageset/terrible@2x.png
--------------------------------------------------------------------------------
/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/terrible.imageset/terrible@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern/MVVMPattern/Resources/Assets.xcassets/terrible.imageset/terrible@3x.png
--------------------------------------------------------------------------------
/MVVMPattern/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, '11.0'
2 |
3 | target 'MVVMPattern' do
4 | use_frameworks!
5 | pod 'YelpAPI', '3.0.0'
6 |
7 | # Pods for MVVMPattern
8 |
9 | end
10 |
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/APIKeys.swift:
--------------------------------------------------------------------------------
1 | //
2 | // APIKeys.swift
3 | // MVVMPattern
4 | //
5 | // Created by pro648 on 2019/7/9.
6 | // Copyright © 2019 pro648. All rights reserved.
7 | //
8 |
9 | public let YelpAPIKey = "<#Paste your API Key here#>"
10 |
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/Launch.imageset/Launch.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/Launch.imageset/Launch.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/Launch.imageset/Launch@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/Launch.imageset/Launch@2x.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/Launch.imageset/Launch@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/Launch.imageset/Launch@3x.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/bad.imageset/bad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/bad.imageset/bad.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/bad.imageset/bad@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/bad.imageset/bad@2x.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/bad.imageset/bad@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/bad.imageset/bad@3x.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/good.imageset/good.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/good.imageset/good.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/good.imageset/good@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/good.imageset/good@2x.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/good.imageset/good@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/good.imageset/good@3x.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/great.imageset/great.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/great.imageset/great.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/great.imageset/great@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/great.imageset/great@2x.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/great.imageset/great@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/great.imageset/great@3x.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/meh.imageset/meh.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/meh.imageset/meh.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/meh.imageset/meh@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/meh.imageset/meh@2x.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/meh.imageset/meh@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/meh.imageset/meh@3x.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/terrible.imageset/terrible.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/terrible.imageset/terrible.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/terrible.imageset/terrible@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/terrible.imageset/terrible@2x.png
--------------------------------------------------------------------------------
/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/terrible.imageset/terrible@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/MVVMPattern模版/MVVMPattern/Resources/Assets.xcassets/terrible.imageset/terrible@3x.png
--------------------------------------------------------------------------------
/MVVMPattern模版/Podfile:
--------------------------------------------------------------------------------
1 | platform :ios, '11.0'
2 |
3 | target 'MVVMPattern' do
4 | use_frameworks!
5 | pod 'YelpAPI', '3.0.0'
6 |
7 | # Pods for MVVMPattern
8 |
9 | end
10 |
--------------------------------------------------------------------------------
/MementoPattern/MementoPattern.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/MementoPattern/MementoPattern.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Model-View-ViewModel/Model-View-ViewModel.playground/Resources/direwolf.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Model-View-ViewModel/Model-View-ViewModel.playground/Resources/direwolf.png
--------------------------------------------------------------------------------
/Model-View-ViewModel/Model-View-ViewModel.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Model-View-ViewModel/Model-View-ViewModel.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/NSCache/NSCache.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/NSCache/NSCache/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/NSCache/NSCache/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "platform" : "ios",
6 | "size" : "1024x1024"
7 | }
8 | ],
9 | "info" : {
10 | "author" : "xcode",
11 | "version" : 1
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/NSCache/NSCache/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/NSCache/NSCache/Assets.xcassets/abc.imageset/abc.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/NSCache/NSCache/Assets.xcassets/abc.imageset/abc.jpeg
--------------------------------------------------------------------------------
/NSURLSession1/NSURLSession1.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/NSURLSession1/NSURLSession1.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/NSURLSession1/NSURLSession1.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/NSURLSession1/NSURLSession1/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // NSURLSession1
4 | //
5 | // Created by ad on 19/01/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/NSURLSession1/README.md:
--------------------------------------------------------------------------------
1 | ### NSURLSession的使用
2 |
3 | `NSURLSession`提供了一个可供通过网络下载内容的API,并且具有丰富的代理方法。在iOS中,`NSURLSession`支持在app未运行或挂起时进行后台下载。此外,`NSURLSession`原生的支持data、file、ftp、http和https URL方案,以及用户首选项中代理和socks网关。
4 |
5 | 这篇文章通过下载、暂停、恢复下载图片来学习`NSURLSession`。详细介绍查看下面文章:
6 |
7 |
--------------------------------------------------------------------------------
/Open-ClosedPrinciple/Open-ClosedPrinciple.playground/Contents.swift:
--------------------------------------------------------------------------------
1 | import UIKit
2 |
3 | var greeting = "Hello, playground"
4 |
--------------------------------------------------------------------------------
/Open-ClosedPrinciple/Open-ClosedPrinciple.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Open-ClosedPrinciple/Open-ClosedPrinciple.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Open-ClosedPrinciple/Open-ClosedPrinciple.playground/timeline.xctimeline:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Operation&OperationQueue/Operation&OperationQueue.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/0.imageset/1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/0.imageset/1.jpg
--------------------------------------------------------------------------------
/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/1.imageset/2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/1.imageset/2.jpg
--------------------------------------------------------------------------------
/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/2.imageset/3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/2.imageset/3.jpg
--------------------------------------------------------------------------------
/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/3.imageset/4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/3.imageset/4.jpg
--------------------------------------------------------------------------------
/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/4.imageset/5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/4.imageset/5.jpg
--------------------------------------------------------------------------------
/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/5.imageset/6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/5.imageset/6.jpg
--------------------------------------------------------------------------------
/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/6.imageset/7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/6.imageset/7.jpg
--------------------------------------------------------------------------------
/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/7.imageset/8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/7.imageset/8.jpg
--------------------------------------------------------------------------------
/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/8.imageset/9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/8.imageset/9.jpg
--------------------------------------------------------------------------------
/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/9.imageset/10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/9.imageset/10.jpg
--------------------------------------------------------------------------------
/Operation&OperationQueue/Operation&OperationQueue/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/PageViewController/PageViewController.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/PageViewController/PageViewController/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/PageViewController/PageViewController/RootViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // RootViewController.h
3 | // PageViewController
4 | //
5 | // Created by pro648 on 2018/6/2.
6 | // Copyright © 2018 pro648. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface RootViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/PasswordAutoFill/PasswordAutofill.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/PasswordAutoFill/PasswordAutofill/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/PasswordAutoFill模版/PasswordAutoFill-Server/Procfile:
--------------------------------------------------------------------------------
1 | web: Run serve --env production --hostname 0.0.0.0 --port $PORT
2 |
--------------------------------------------------------------------------------
/PasswordAutoFill模版/PasswordAutoFill-Server/Resources/Views/index.leaf:
--------------------------------------------------------------------------------
1 |
2 | #set("content") {
3 | Here's some motivation:
4 | #(motivationalLottery.motivation)
5 | }
6 |
7 | #embed("base")
8 |
--------------------------------------------------------------------------------
/PasswordAutoFill模版/PasswordAutofill.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/PasswordAutoFill模版/PasswordAutofill/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/PasswordAutoFill模版/PasswordAutofill/PasswordAutofill.entitlements:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Persistence/Persistence.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Persistence/Persistence.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Persistence/Persistence.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Persistence/Persistence.xcodeproj/project.xcworkspace/xcuserdata/darkgm.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Persistence/Persistence.xcodeproj/project.xcworkspace/xcuserdata/darkgm.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/Persistence/Persistence.xcodeproj/xcuserdata/darkgm.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/Persistence/Persistence/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // Persistence
4 | //
5 | // Created by ad on 19/11/2016.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/Persistence/Persistence/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // Persistence
4 | //
5 | // Created by ad on 19/11/2016.
6 | //
7 |
8 | #import
9 |
10 | @interface ViewController : UIViewController
11 |
12 |
13 | @end
14 |
15 |
--------------------------------------------------------------------------------
/Persistence/README.md:
--------------------------------------------------------------------------------
1 | ### 使用偏好设置、属性列表、归档解档保存数据、恢复数据
2 |
3 | 这个demo通过以下四种方式保存、恢复数据:
4 |
5 | - NSUserDefaults (偏好设置)
6 | - property list 即Plist (属性列表)
7 | - NSKeyedArchiver NSKeyedUnarchiver(归档、解档)
8 | - text file
9 |
10 | 详细介绍查看下面文章:
11 |
12 |
--------------------------------------------------------------------------------
/PropertyAnimator/PropertyAnimator.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/PropertyAnimator/PropertyAnimator.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/PropertyAnimator/PropertyAnimator.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/PropertyAnimator/PropertyAnimator/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/PropertyAnimator/PropertyAnimator/Assets.xcassets/first.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "first.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/PropertyAnimator/PropertyAnimator/Assets.xcassets/first.imageset/first.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/PropertyAnimator/PropertyAnimator/Assets.xcassets/first.imageset/first.pdf
--------------------------------------------------------------------------------
/PropertyAnimator/PropertyAnimator/TimingCurvesViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // TimingCurvesViewController.h
3 | // PropertyAnimator
4 | //
5 | // Created by ad on 12/09/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface TimingCurvesViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/PropertyAnimator/PropertyAnimator/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // PropertyAnimator
4 | //
5 | // Created by ad on 27/08/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/ProtocolAndGeneric/ProtocolAndGeneric.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ProtocolAndGeneric/ProtocolAndGeneric.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ProtocolOrientedProgramming/ProtocolOrientedProgramming.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/ProtocolOrientedProgramming/ProtocolOrientedProgramming.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/PrototypePattern/PrototypePattern.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/PrototypePattern/PrototypePattern/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Queue/Queue.playground/Sources/Queue.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public protocol Queue {
4 | associatedtype Element
5 | mutating func enqueue(_ element: Element) -> Bool
6 | mutating func dequeue() -> Element?
7 | var isEmpty: Bool { get }
8 | var peek: Element? { get }
9 | }
10 |
--------------------------------------------------------------------------------
/Queue/Queue.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RefreshControl/RefreshControl.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RefreshControl/RefreshControl.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RefreshControl/RefreshControl.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RefreshControl/RefreshControl/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // RefreshControl
4 | //
5 | // Created by ad on 27/03/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/RegularExpression/README.md:
--------------------------------------------------------------------------------
1 | ### 正则表达式NSRegularExpression
2 |
3 | 在这个demo里,通过以下三种方式学习正则表达式:
4 |
5 | 1. 进行文本查找、替换。
6 | 2. 验证用户输入文本是否符合格式要求。
7 | 3. 自动格式化用户输入文本。
8 |
9 | `First`、`Second`和`Third`三个视图控制器对应实现上述三项功能。
10 |
11 | 详细介绍查看下面文章:
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression/RegularExpression.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression.xcodeproj/xcuserdata/ad.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression/Assets.xcassets/checkmark.imageset/checkmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression/RegularExpression/Assets.xcassets/checkmark.imageset/checkmark.png
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression/Assets.xcassets/checkmark.imageset/checkmark@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression/RegularExpression/Assets.xcassets/checkmark.imageset/checkmark@2x.png
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression/Assets.xcassets/exclamation.imageset/exclamation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression/RegularExpression/Assets.xcassets/exclamation.imageset/exclamation.png
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression/Assets.xcassets/exclamation.imageset/exclamation@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression/RegularExpression/Assets.xcassets/exclamation.imageset/exclamation@2x.png
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression/Assets.xcassets/first.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "first.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression/Assets.xcassets/first.imageset/first.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression/RegularExpression/Assets.xcassets/first.imageset/first.pdf
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression/Assets.xcassets/second.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "second.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression/Assets.xcassets/second.imageset/second.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression/RegularExpression/Assets.xcassets/second.imageset/second.pdf
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression/FirstViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // FirstViewController.h
3 | // RegularExpression
4 | //
5 | // Created by ad on 27/05/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface FirstViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression/SecondViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SecondViewController.h
3 | // RegularExpression
4 | //
5 | // Created by ad on 28/05/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface SecondViewController : UITableViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/RegularExpression/RegularExpression/ThirdViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ThirdViewController.h
3 | // RegularExpression
4 | //
5 | // Created by ad on 28/05/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ThirdViewController : UITableViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression模板/RegularExpression.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression.xcodeproj/xcuserdata/ad.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression/Assets.xcassets/checkmark.imageset/checkmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression模板/RegularExpression/Assets.xcassets/checkmark.imageset/checkmark.png
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression/Assets.xcassets/checkmark.imageset/checkmark@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression模板/RegularExpression/Assets.xcassets/checkmark.imageset/checkmark@2x.png
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression/Assets.xcassets/exclamation.imageset/exclamation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression模板/RegularExpression/Assets.xcassets/exclamation.imageset/exclamation.png
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression/Assets.xcassets/exclamation.imageset/exclamation@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression模板/RegularExpression/Assets.xcassets/exclamation.imageset/exclamation@2x.png
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression/Assets.xcassets/first.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "first.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression/Assets.xcassets/first.imageset/first.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression模板/RegularExpression/Assets.xcassets/first.imageset/first.pdf
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression/Assets.xcassets/second.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "second.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression/Assets.xcassets/second.imageset/second.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/RegularExpression模板/RegularExpression/Assets.xcassets/second.imageset/second.pdf
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression/FirstViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // FirstViewController.h
3 | // RegularExpression
4 | //
5 | // Created by ad on 27/05/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface FirstViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression/SecondViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SecondViewController.h
3 | // RegularExpression
4 | //
5 | // Created by ad on 28/05/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface SecondViewController : UITableViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/RegularExpression模板/RegularExpression/ThirdViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ThirdViewController.h
3 | // RegularExpression
4 | //
5 | // Created by ad on 28/05/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ThirdViewController : UITableViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/ResponderChain/ResponderChain.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ResponderChain/ResponderChain/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/ResponderChain/ResponderChain/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/ResponderChain/ResponderChain/Item.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Item.swift
3 | // ResponderChain
4 | //
5 | // Created by pro648 on 2020/9/24.
6 | //
7 |
8 | struct Item {
9 | var title: String
10 | var clsNameStr: String
11 | }
12 |
--------------------------------------------------------------------------------
/RunLoop/RunLoop.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/RunLoop/RunLoop/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // RunLoop
4 | //
5 | // Created by pro648 on 2020/1/9.
6 | // Copyright © 2020 pro648. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/RunLoop/RunLoop/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/RunLoop/RunLoop/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // RunLoop
4 | //
5 | // Created by pro648 on 2020/1/9.
6 | // Copyright © 2020 pro648. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/Runtime/Runtime.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Runtime/Runtime/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // Runtime
4 | //
5 | // Created by pro648 on 2020/3/7.
6 | // Copyright © 2020 pro648. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/Runtime/Runtime/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Runtime/Runtime/Exchange/PremiumUser.h:
--------------------------------------------------------------------------------
1 | //
2 | // PremiumUser.h
3 | // Runtime
4 | //
5 | // Created by pro648 on 2020/3/7.
6 | // Copyright © 2020 pro648. All rights reserved.
7 | //
8 |
9 | #import "User.h"
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface PremiumUser : User
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Runtime/Runtime/Exchange/User.m:
--------------------------------------------------------------------------------
1 | //
2 | // User.m
3 | // Runtime
4 | //
5 | // Created by pro648 on 2020/3/7.
6 | // Copyright © 2020 pro648. All rights reserved.
7 | //
8 |
9 | #import "User.h"
10 |
11 | @implementation User
12 |
13 | - (void)happyBirthday {
14 | NSLog(@"--- %s ---", __func__);
15 | }
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/Runtime/Runtime/Person.h:
--------------------------------------------------------------------------------
1 | //
2 | // Person.h
3 | // Runtime
4 | //
5 | // Created by pro648 on 2020/3/7.
6 | // Copyright © 2020 pro648. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | NS_ASSUME_NONNULL_BEGIN
12 |
13 | @interface Person : NSObject
14 |
15 | @end
16 |
17 | NS_ASSUME_NONNULL_END
18 |
--------------------------------------------------------------------------------
/Runtime/Runtime/Person.m:
--------------------------------------------------------------------------------
1 | //
2 | // Person.m
3 | // Runtime
4 | //
5 | // Created by pro648 on 2020/3/7.
6 | // Copyright © 2020 pro648. All rights reserved.
7 | //
8 |
9 | #import "Person.h"
10 |
11 | @implementation Person
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Runtime/Runtime/Q&A/Browser.m:
--------------------------------------------------------------------------------
1 | //
2 | // Browser.m
3 | // Runtime
4 | //
5 | // Created by pro648 on 2020/3/7.
6 | // Copyright © 2020 pro648. All rights reserved.
7 | //
8 |
9 | #import "Browser.h"
10 |
11 | @implementation Browser
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Runtime/Runtime/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // Runtime
4 | //
5 | // Created by pro648 on 2020/3/7.
6 | // Copyright © 2020 pro648. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/SQLite/SQLite.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SQLite/SQLite/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/ScrollView/README.md:
--------------------------------------------------------------------------------
1 | ### UIScrollView的用法
2 |
3 | 在iOS中,滚动视图`UIScrollView`用于查看大于屏幕的内容。Scroll View有两个主要目的:
4 |
5 | - 让用户拖动视图以显示更多内容区域。
6 | - 让用户使用捏合手势放大或缩小所显示的内容。
7 |
8 | 在这个demo中,实现了缩放视图、翻页浏览、以点击位置为中心放大图片等功能。详细介绍查看下面文章:
9 |
10 |
--------------------------------------------------------------------------------
/ScrollView/ScrollView.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/ScrollView/ScrollView.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/ScrollView/ScrollView.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/ScrollView/ScrollView.xcodeproj/xcuserdata/ad.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/ScrollView/ScrollView/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // ScrollView
4 | //
5 | // Created by ad on 03/07/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/ScrollView/ScrollView/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/ScrollView/ScrollView/Assets.xcassets/five.imageset/small_five.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/ScrollView/ScrollView/Assets.xcassets/five.imageset/small_five.png
--------------------------------------------------------------------------------
/ScrollView/ScrollView/Assets.xcassets/four.imageset/small_four.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/ScrollView/ScrollView/Assets.xcassets/four.imageset/small_four.png
--------------------------------------------------------------------------------
/ScrollView/ScrollView/Assets.xcassets/image.imageset/image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/ScrollView/ScrollView/Assets.xcassets/image.imageset/image.png
--------------------------------------------------------------------------------
/ScrollView/ScrollView/Assets.xcassets/one.imageset/small_one.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/ScrollView/ScrollView/Assets.xcassets/one.imageset/small_one.png
--------------------------------------------------------------------------------
/ScrollView/ScrollView/Assets.xcassets/six.imageset/small_six.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/ScrollView/ScrollView/Assets.xcassets/six.imageset/small_six.png
--------------------------------------------------------------------------------
/ScrollView/ScrollView/Assets.xcassets/three.imageset/small_three.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/ScrollView/ScrollView/Assets.xcassets/three.imageset/small_three.png
--------------------------------------------------------------------------------
/ScrollView/ScrollView/Assets.xcassets/two.imageset/small_two.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/ScrollView/ScrollView/Assets.xcassets/two.imageset/small_two.png
--------------------------------------------------------------------------------
/ScrollView/ScrollView/PageViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // PageViewController.h
3 | // ScrollView
4 | //
5 | // Created by ad on 06/07/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface PageViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/ScrollView/ScrollView/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // ScrollView
4 | //
5 | // Created by ad on 03/07/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/SimpleFactory/SimpleFactory.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/SimpleFactory/SimpleFactory/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Stack/README.md:
--------------------------------------------------------------------------------
1 | ### 栈 Stack
2 |
3 | 栈(Stack)又称为堆栈、堆叠,它其实有三种含义,适用于不同场合,很容易混淆。
4 |
5 | - 一种后进先出的数据结构。
6 | - 代码调用栈。
7 | - 内存区域栈。
8 |
9 | 详细介绍查看下面文章:
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Stack/Stack.playground/Sources/Helpers.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public func example(of description: String, action: () -> ()) {
4 | print("--- Example of \(description)")
5 | action()
6 | print()
7 | }
8 |
--------------------------------------------------------------------------------
/Stack/Stack.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/Stack/Stack.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/StackView/StackView.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/StackView/StackView.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StackView/StackView.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/StackView/StackView/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // StackView
4 | //
5 | // Created by ad on 07/04/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/Heart.imageset/heart120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StackView/StackView/Assets.xcassets/Heart.imageset/heart120.png
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/Heart.imageset/heart240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StackView/StackView/Assets.xcassets/Heart.imageset/heart240.png
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/Heart.imageset/heart360.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StackView/StackView/Assets.xcassets/Heart.imageset/heart360.png
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/Star.imageset/star120.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StackView/StackView/Assets.xcassets/Star.imageset/star120.png
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/Star.imageset/star240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StackView/StackView/Assets.xcassets/Star.imageset/star240.png
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/Star.imageset/star360.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StackView/StackView/Assets.xcassets/Star.imageset/star360.png
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/filledStar.imageset/star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StackView/StackView/Assets.xcassets/filledStar.imageset/star.png
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/first.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "first.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/first.imageset/first.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StackView/StackView/Assets.xcassets/first.imageset/first.pdf
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/icon.imageset/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StackView/StackView/Assets.xcassets/icon.imageset/icon.png
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/second.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "second.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/StackView/StackView/Assets.xcassets/second.imageset/second.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StackView/StackView/Assets.xcassets/second.imageset/second.pdf
--------------------------------------------------------------------------------
/StackView/StackView/FirstViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // FirstViewController.h
3 | // StackView
4 | //
5 | // Created by ad on 07/04/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface FirstViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------
/StackView/StackView/ThirdViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ThirdViewController.h
3 | // StackView
4 | //
5 | // Created by ad on 07/04/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ThirdViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/StrategyPattern/StrategyPattern.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/StrategyPattern/StrategyPattern/Model/Meal.swift:
--------------------------------------------------------------------------------
1 | //
2 | // Meal.swift
3 | // StrategyPattern
4 | //
5 | // Created by pro648 on 2019/5/25.
6 | // Copyright © 2019 pro648. All rights reserved.
7 | //
8 |
9 | struct Meal {
10 | var name: String
11 | var image: String
12 | var price: String
13 | }
14 |
--------------------------------------------------------------------------------
/StrategyPattern/StrategyPattern/Resource/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/StrategyPattern/StrategyPattern/Resource/Assets.xcassets/delivery.imageset/delivery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StrategyPattern/StrategyPattern/Resource/Assets.xcassets/delivery.imageset/delivery.png
--------------------------------------------------------------------------------
/StrategyPattern/StrategyPattern/Resource/Assets.xcassets/meal1.imageset/meal1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StrategyPattern/StrategyPattern/Resource/Assets.xcassets/meal1.imageset/meal1.png
--------------------------------------------------------------------------------
/StrategyPattern/StrategyPattern/Resource/Assets.xcassets/meal2.imageset/meal3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/StrategyPattern/StrategyPattern/Resource/Assets.xcassets/meal2.imageset/meal3.png
--------------------------------------------------------------------------------
/StrategyPattern/StrategyPattern/Strategy/CheckoutStrategy.swift:
--------------------------------------------------------------------------------
1 | //
2 | // CheckoutStrategy.swift
3 | // StrategyPattern
4 | //
5 | // Created by pro648 on 2019/5/25.
6 | // Copyright © 2019 pro648. All rights reserved.
7 | //
8 |
9 | protocol CheckoutStrategy: class {
10 | func getFinalPrice(with itemPrices:[Int]) -> Int
11 | }
12 |
--------------------------------------------------------------------------------
/SwiftPointer/SwiftPointer.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/SwiftPointer/SwiftPointer.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Synchronization/Synchronization.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Synchronization/Synchronization/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Synchronization/Synchronization/Synchronization-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // Use this file to import your target's public headers that you would like to expose to Swift.
3 | //
4 |
5 | #import "SynchronizedDemo.h"
6 |
--------------------------------------------------------------------------------
/Timer/Timer.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Timer/Timer/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Timer模版/Timer.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Timer模版/Timer/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/back_cat.imageset/wiggles@2x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation/TransitionAnimation/Assets.xcassets/back_cat.imageset/wiggles@2x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/back_cat.imageset/wiggles@3x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation/TransitionAnimation/Assets.xcassets/back_cat.imageset/wiggles@3x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/boring_fish.imageset/bongo@2x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation/TransitionAnimation/Assets.xcassets/boring_fish.imageset/bongo@2x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/boring_fish.imageset/bongo@3x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation/TransitionAnimation/Assets.xcassets/boring_fish.imageset/bongo@3x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/epic_dog.imageset/wrigley@2x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation/TransitionAnimation/Assets.xcassets/epic_dog.imageset/wrigley@2x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/epic_dog.imageset/wrigley@3x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation/TransitionAnimation/Assets.xcassets/epic_dog.imageset/wrigley@3x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/rw-logo.imageset/Razewarelogo_1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation/TransitionAnimation/Assets.xcassets/rw-logo.imageset/Razewarelogo_1024.png
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/rwdevcon-bg.imageset/rwdevcon-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation/TransitionAnimation/Assets.xcassets/rwdevcon-bg.imageset/rwdevcon-bg.png
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/sad_dog.imageset/rufus@2x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation/TransitionAnimation/Assets.xcassets/sad_dog.imageset/rufus@2x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/sad_dog.imageset/rufus@3x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation/TransitionAnimation/Assets.xcassets/sad_dog.imageset/rufus@3x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/sleepy_cat.imageset/rumble@2x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation/TransitionAnimation/Assets.xcassets/sleepy_cat.imageset/rumble@2x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation/TransitionAnimation/Assets.xcassets/sleepy_cat.imageset/rumble@3x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation/TransitionAnimation/Assets.xcassets/sleepy_cat.imageset/rumble@3x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/back_cat.imageset/wiggles@2x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/back_cat.imageset/wiggles@2x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/back_cat.imageset/wiggles@3x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/back_cat.imageset/wiggles@3x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/boring_fish.imageset/bongo@2x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/boring_fish.imageset/bongo@2x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/boring_fish.imageset/bongo@3x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/boring_fish.imageset/bongo@3x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/epic_dog.imageset/wrigley@2x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/epic_dog.imageset/wrigley@2x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/epic_dog.imageset/wrigley@3x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/epic_dog.imageset/wrigley@3x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/rw-logo.imageset/Razewarelogo_1024.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/rw-logo.imageset/Razewarelogo_1024.png
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/rwdevcon-bg.imageset/rwdevcon-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/rwdevcon-bg.imageset/rwdevcon-bg.png
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/sad_dog.imageset/rufus@2x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/sad_dog.imageset/rufus@2x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/sad_dog.imageset/rufus@3x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/sad_dog.imageset/rufus@3x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/sleepy_cat.imageset/rumble@2x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/sleepy_cat.imageset/rumble@2x.jpeg
--------------------------------------------------------------------------------
/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/sleepy_cat.imageset/rumble@3x.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/TransitionAnimation模版/TransitionAnimation/Assets.xcassets/sleepy_cat.imageset/rumble@3x.jpeg
--------------------------------------------------------------------------------
/Tree/GeneralPurposeTree.playground/Sources/Helpers.swift:
--------------------------------------------------------------------------------
1 | import Foundation
2 |
3 | public func example(of description: String, action: () -> Void) {
4 | print("--- Example of: \(description)")
5 | action()
6 | print()
7 | }
8 |
--------------------------------------------------------------------------------
/Tree/GeneralPurposeTree.playground/contents.xcplayground:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Tree/GeneralPurposeTree.playground/playground.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/UIKitDynamics/UIKitDynamics.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics.xcodeproj/xcuserdata/ad.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // UIKitDynamics
4 | //
5 | // Created by ad on 22/06/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface AppDelegate : UIResponder
12 |
13 | @property (strong, nonatomic) UIWindow *window;
14 |
15 |
16 | @end
17 |
18 |
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics/Assets.xcassets/AppleLogo.imageset/AppleLogo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/UIKitDynamics/UIKitDynamics/Assets.xcassets/AppleLogo.imageset/AppleLogo.jpg
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics/Assets.xcassets/circle.imageset/first.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/UIKitDynamics/UIKitDynamics/Assets.xcassets/circle.imageset/first.pdf
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics/FifthViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // FifthViewController.h
3 | // UIKitDynamics
4 | //
5 | // Created by ad on 22/06/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface FifthViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics/FirstViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // FirstViewController.h
3 | // UIKitDynamics
4 | //
5 | // Created by ad on 22/06/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface FirstViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics/FourthViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // FourthViewController.h
3 | // UIKitDynamics
4 | //
5 | // Created by ad on 22/06/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface FourthViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics/SecondViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // SecondViewController.h
3 | // UIKitDynamics
4 | //
5 | // Created by ad on 22/06/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface SecondViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics/TabBarController.h:
--------------------------------------------------------------------------------
1 | //
2 | // TabBarController.h
3 | // UIKitDynamics
4 | //
5 | // Created by ad on 22/06/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface TabBarController : UITabBarController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/UIKitDynamics/UIKitDynamics/ThirdViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ThirdViewController.h
3 | // UIKitDynamics
4 | //
5 | // Created by ad on 22/06/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ThirdViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/URLSession/URLSession.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/URLSession/URLSession/Resources/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/URLSession/URLSession/Resources/Assets.xcassets/first.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "first.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/URLSession/URLSession/Resources/Assets.xcassets/first.imageset/first.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/URLSession/URLSession/Resources/Assets.xcassets/first.imageset/first.pdf
--------------------------------------------------------------------------------
/URLSession/URLSession/Resources/Assets.xcassets/second.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "second.pdf"
6 | }
7 | ],
8 | "info" : {
9 | "version" : 1,
10 | "author" : "xcode"
11 | }
12 | }
--------------------------------------------------------------------------------
/URLSession/URLSession/Resources/Assets.xcassets/second.imageset/second.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/URLSession/URLSession/Resources/Assets.xcassets/second.imageset/second.pdf
--------------------------------------------------------------------------------
/UserNotifications/Objective-C/UserNotifications Objective-C.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/UserNotifications/Objective-C/UserNotifications Objective-C/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/UserNotifications/Swift/UserNotification Swift.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/UserNotifications/Swift/UserNotification Swift/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/VisualEffectView/VisualEffectView.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/VisualEffectView/VisualEffectView/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/VisualEffectView/VisualEffectView/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/WebKit/WebKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/WebKit/WebKit/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/WebKit/WebKit/Resourece/NSHipster/mattt-93904827ef54896bb67f3a0d4abf548b9ecc93a51536bbc3326f24630512727d.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/WebKit/WebKit/Resourece/NSHipster/mattt-93904827ef54896bb67f3a0d4abf548b9ecc93a51536bbc3326f24630512727d.jpg
--------------------------------------------------------------------------------
/WebKit/WebKit/ScriptMessageHandler/hide.js:
--------------------------------------------------------------------------------
1 | var styleElement = document.createElement('style');
2 | document.documentElement.appendChild(styleElement);
3 | styleElement.textContent = '.toc { display : none !important; } #mw-panel { display: none !important; } #content { margin: 0px 10px 0px 10px !important; };';
4 |
--------------------------------------------------------------------------------
/WebKit/WebKit/ViewController.h:
--------------------------------------------------------------------------------
1 | // ViewController.h
2 | // WebKit
3 | //
4 | // Created by pro648 on 2018/12/24
5 | // Copyright © 2018 pro648. All rights reserved.
6 | //
7 |
8 | #import
9 |
10 | @interface ViewController : UIViewController
11 |
12 |
13 | @end
14 |
15 |
--------------------------------------------------------------------------------
/Widget/Objective-C/UsedSpaceWidget/TodayViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // TodayViewController.h
3 | // UsedSpaceWidget
4 | //
5 | // Created by pro648 on 18/7/22
6 | // Copyright © 2018年 pro648. All rights reserved.
7 | //
8 |
9 | #import
10 |
11 | @interface TodayViewController : UIViewController
12 |
13 | @end
14 |
--------------------------------------------------------------------------------
/Widget/Objective-C/Widget Objective-C.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Widget/Objective-C/Widget Objective-C/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Widget/Objective-C/Widget Objective-C/Assets.xcassets/first.imageset/first.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Widget/Objective-C/Widget Objective-C/Assets.xcassets/first.imageset/first.pdf
--------------------------------------------------------------------------------
/Widget/Swift/Widget Swift.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/Widget/Swift/Widget Swift/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/Widget/Swift/Widget Swift/Assets.xcassets/first.imageset/first.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/Widget/Swift/Widget Swift/Assets.xcassets/first.imageset/first.pdf
--------------------------------------------------------------------------------
/category、load、initialize的本质/category、load、initialize的本质.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/category、load、initialize的本质/category、load、initialize的本质/AppDelegate.h:
--------------------------------------------------------------------------------
1 | //
2 | // AppDelegate.h
3 | // category、load、initialize的本质
4 | //
5 | // Created by pro648 on 2021/1/26.
6 | //
7 |
8 | #import
9 |
10 | @interface AppDelegate : UIResponder
11 |
12 |
13 | @end
14 |
15 |
--------------------------------------------------------------------------------
/category、load、initialize的本质/category、load、initialize的本质/Assets.xcassets/AccentColor.colorset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors" : [
3 | {
4 | "idiom" : "universal"
5 | }
6 | ],
7 | "info" : {
8 | "author" : "xcode",
9 | "version" : 1
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/category、load、initialize的本质/category、load、initialize的本质/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "author" : "xcode",
4 | "version" : 1
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/category、load、initialize的本质/category、load、initialize的本质/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // category、load、initialize的本质
4 | //
5 | // Created by pro648 on 2021/1/26.
6 | //
7 |
8 | #import
9 |
10 | @interface ViewController : UIViewController
11 |
12 |
13 | @end
14 |
15 |
--------------------------------------------------------------------------------
/copy&mutableCopy/copy&mutableCopy.xcodeproj/project.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/copy&mutableCopy/copy&mutableCopy.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/pro648/BasicDemos-iOS/cfcc9ca43eb8cdbcaee440036633f64ac41ba86c/copy&mutableCopy/copy&mutableCopy.xcodeproj/project.xcworkspace/xcuserdata/ad.xcuserdatad/UserInterfaceState.xcuserstate
--------------------------------------------------------------------------------
/copy&mutableCopy/copy&mutableCopy/ViewController.h:
--------------------------------------------------------------------------------
1 | //
2 | // ViewController.h
3 | // copy&mutableCopy
4 | //
5 | // Created by ad on 02/08/2017.
6 | //
7 | //
8 |
9 | #import
10 |
11 | @interface ViewController : UIViewController
12 |
13 |
14 | @end
15 |
16 |
--------------------------------------------------------------------------------