master 50b67c07ab3c cached
692 files
282.5 MB
998.1k tokens
149 symbols
1 requests
Download .txt
Showing preview only (3,999K chars total). Download the full file or copy to clipboard to get everything.
Repository: ProducterTips/producter-book-examples
Branch: master
Commit: 50b67c07ab3c
Files: 692
Total size: 282.5 MB

Directory structure:
gitextract_g_1wn6sw/

├── .gitignore
└── Example Codes/
    ├── Animation Advanced/
    │   ├── Animation Advanced/
    │   │   ├── AppDelegate.swift
    │   │   ├── Assets.xcassets/
    │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   └── Contents.json
    │   │   │   ├── Contents.json
    │   │   │   └── leaf.imageset/
    │   │   │       └── Contents.json
    │   │   ├── Base.lproj/
    │   │   │   ├── LaunchScreen.storyboard
    │   │   │   └── Main.storyboard
    │   │   ├── DetailViewController.swift
    │   │   ├── Info.plist
    │   │   ├── MasterViewController.swift
    │   │   ├── bezierAdvanced.swift
    │   │   ├── bezierSimple.swift
    │   │   ├── bezierUIDynamic.swift
    │   │   ├── keyframe.swift
    │   │   └── maskAnimation.swift
    │   └── Animation Advanced.xcodeproj/
    │       ├── project.pbxproj
    │       ├── project.xcworkspace/
    │       │   ├── contents.xcworkspacedata
    │       │   ├── xcshareddata/
    │       │   │   └── IDEWorkspaceChecks.plist
    │       │   └── xcuserdata/
    │       │       ├── kevinzhow.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       ├── zhoukaiwen.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       └── zhowkevin.xcuserdatad/
    │       │           └── UserInterfaceState.xcuserstate
    │       └── xcuserdata/
    │           ├── kevinzhow.xcuserdatad/
    │           │   └── xcschemes/
    │           │       ├── Animation Advanced.xcscheme
    │           │       └── xcschememanagement.plist
    │           ├── zhoukaiwen.xcuserdatad/
    │           │   └── xcschemes/
    │           │       └── xcschememanagement.plist
    │           └── zhowkevin.xcuserdatad/
    │               ├── xcdebugger/
    │               │   └── Breakpoints_v2.xcbkptlist
    │               └── xcschemes/
    │                   ├── Animation Advanced.xcscheme
    │                   └── xcschememanagement.plist
    ├── AutoLayout/
    │   ├── TextView/
    │   │   ├── Meow/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.xib
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Images.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── cat_cart.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── cat_eyes.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── cat_fat.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Info.plist
    │   │   │   └── ViewController.swift
    │   │   ├── Meow.xcodeproj/
    │   │   │   ├── project.pbxproj
    │   │   │   ├── project.xcworkspace/
    │   │   │   │   ├── contents.xcworkspacedata
    │   │   │   │   ├── xcshareddata/
    │   │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   │   └── xcuserdata/
    │   │   │   │       ├── kevin.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │   │           └── UserInterfaceState.xcuserstate
    │   │   │   └── xcuserdata/
    │   │   │       ├── kevin.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── Meow.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │           └── xcschemes/
    │   │   │               ├── Meow.xcscheme
    │   │   │               └── xcschememanagement.plist
    │   │   └── MeowTests/
    │   │       ├── Info.plist
    │   │       └── MeowTests.swift
    │   ├── meow_0/
    │   │   ├── Meow/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.xib
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Images.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── cat_cart.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── cat_eyes.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── cat_fat.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Info.plist
    │   │   │   └── ViewController.swift
    │   │   ├── Meow.xcodeproj/
    │   │   │   ├── project.pbxproj
    │   │   │   ├── project.xcworkspace/
    │   │   │   │   ├── contents.xcworkspacedata
    │   │   │   │   ├── xcshareddata/
    │   │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   │   └── xcuserdata/
    │   │   │   │       ├── kevin.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │   │           └── UserInterfaceState.xcuserstate
    │   │   │   └── xcuserdata/
    │   │   │       ├── kevin.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── Meow.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │           └── xcschemes/
    │   │   │               ├── Meow.xcscheme
    │   │   │               └── xcschememanagement.plist
    │   │   └── MeowTests/
    │   │       ├── Info.plist
    │   │       └── MeowTests.swift
    │   ├── meow_1/
    │   │   ├── Meow/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.xib
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Images.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── cat_cart.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── cat_eyes.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── cat_fat.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Info.plist
    │   │   │   └── ViewController.swift
    │   │   ├── Meow.xcodeproj/
    │   │   │   ├── project.pbxproj
    │   │   │   ├── project.xcworkspace/
    │   │   │   │   ├── contents.xcworkspacedata
    │   │   │   │   ├── xcshareddata/
    │   │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   │   └── xcuserdata/
    │   │   │   │       ├── kevin.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │   │           └── UserInterfaceState.xcuserstate
    │   │   │   └── xcuserdata/
    │   │   │       ├── kevin.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── Meow.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │           └── xcschemes/
    │   │   │               ├── Meow.xcscheme
    │   │   │               └── xcschememanagement.plist
    │   │   └── MeowTests/
    │   │       ├── Info.plist
    │   │       └── MeowTests.swift
    │   └── meow_2/
    │       ├── Meow/
    │       │   ├── AppDelegate.swift
    │       │   ├── Base.lproj/
    │       │   │   ├── LaunchScreen.xib
    │       │   │   └── Main.storyboard
    │       │   ├── Images.xcassets/
    │       │   │   ├── AppIcon.appiconset/
    │       │   │   │   └── Contents.json
    │       │   │   ├── cat_cart.imageset/
    │       │   │   │   └── Contents.json
    │       │   │   ├── cat_eyes.imageset/
    │       │   │   │   └── Contents.json
    │       │   │   └── cat_fat.imageset/
    │       │   │       └── Contents.json
    │       │   ├── Info.plist
    │       │   └── ViewController.swift
    │       ├── Meow.xcodeproj/
    │       │   ├── project.pbxproj
    │       │   ├── project.xcworkspace/
    │       │   │   ├── contents.xcworkspacedata
    │       │   │   ├── xcshareddata/
    │       │   │   │   └── IDEWorkspaceChecks.plist
    │       │   │   └── xcuserdata/
    │       │   │       ├── kevin.xcuserdatad/
    │       │   │       │   └── UserInterfaceState.xcuserstate
    │       │   │       ├── zhoukaiwen.xcuserdatad/
    │       │   │       │   └── UserInterfaceState.xcuserstate
    │       │   │       └── zhowkevin.xcuserdatad/
    │       │   │           └── UserInterfaceState.xcuserstate
    │       │   └── xcuserdata/
    │       │       ├── kevin.xcuserdatad/
    │       │       │   └── xcschemes/
    │       │       │       ├── Meow.xcscheme
    │       │       │       └── xcschememanagement.plist
    │       │       ├── zhoukaiwen.xcuserdatad/
    │       │       │   └── xcschemes/
    │       │       │       └── xcschememanagement.plist
    │       │       └── zhowkevin.xcuserdatad/
    │       │           └── xcschemes/
    │       │               ├── Meow.xcscheme
    │       │               └── xcschememanagement.plist
    │       └── MeowTests/
    │           ├── Info.plist
    │           └── MeowTests.swift
    ├── Diary/
    │   ├── Diary_0/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   └── AppIcon.appiconset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── Info.plist
    │   │   │   └── ViewController.swift
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           └── kevin.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   ├── Diary.xcscheme
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_1/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   └── AppIcon.appiconset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_10/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryTemplate.html
    │   │   │   ├── DiaryViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       ├── kevinzhow.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           ├── kevinzhow.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_11/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryTemplate.html
    │   │   │   ├── DiaryViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       ├── kevinzhow.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           ├── kevinzhow.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_12/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryTemplate.html
    │   │   │   ├── DiaryViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       ├── kevinzhow.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           ├── kevinzhow.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               ├── xcdebugger/
    │   │               │   └── Breakpoints_v2.xcbkptlist
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_13/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryTemplate.html
    │   │   │   ├── DiaryViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   ├── Diary.xcodeproj/
    │   │   │   ├── project.pbxproj
    │   │   │   ├── project.xcworkspace/
    │   │   │   │   ├── contents.xcworkspacedata
    │   │   │   │   ├── xcshareddata/
    │   │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   │   └── xcuserdata/
    │   │   │   │       ├── kevin.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       ├── kevinzhow.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       └── zhoukaiwen.xcuserdatad/
    │   │   │   │           └── UserInterfaceState.xcuserstate
    │   │   │   └── xcuserdata/
    │   │   │       ├── kevin.xcuserdatad/
    │   │   │       │   ├── xcdebugger/
    │   │   │       │   │   └── Breakpoints_v2.xcbkptlist
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── Diary.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       ├── kevinzhow.xcuserdatad/
    │   │   │       │   ├── xcdebugger/
    │   │   │       │   │   └── Breakpoints_v2.xcbkptlist
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── Diary.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       └── zhoukaiwen.xcuserdatad/
    │   │   │           ├── xcdebugger/
    │   │   │           │   └── Breakpoints_v2.xcbkptlist
    │   │   │           └── xcschemes/
    │   │   │               └── xcschememanagement.plist
    │   │   ├── Diary.xcworkspace/
    │   │   │   ├── contents.xcworkspacedata
    │   │   │   ├── xcshareddata/
    │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   └── xcuserdata/
    │   │   │       └── zhoukaiwen.xcuserdatad/
    │   │   │           └── UserInterfaceState.xcuserstate
    │   │   └── Podfile
    │   ├── Diary_2/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   └── AppIcon.appiconset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_3/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   └── AppIcon.appiconset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_4/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_5/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_6/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_7/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_8/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       ├── kevinzhow.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           ├── kevinzhow.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_9/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryTemplate.html
    │   │   │   ├── DiaryViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       ├── kevinzhow.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           ├── kevinzhow.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   └── UILabel/
    │       ├── Label.playground/
    │       │   ├── Contents.swift
    │       │   ├── contents.xcplayground
    │       │   ├── playground.xcworkspace/
    │       │   │   ├── contents.xcworkspacedata
    │       │   │   ├── xcshareddata/
    │       │   │   │   └── IDEWorkspaceChecks.plist
    │       │   │   └── xcuserdata/
    │       │   │       ├── kevin.xcuserdatad/
    │       │   │       │   └── UserInterfaceState.xcuserstate
    │       │   │       ├── zhoukaiwen.xcuserdatad/
    │       │   │       │   └── UserInterfaceState.xcuserstate
    │       │   │       └── zhowkevin.xcuserdatad/
    │       │   │           └── UserInterfaceState.xcuserstate
    │       │   └── timeline.xctimeline
    │       └── LabelClass.playground/
    │           ├── Contents.swift
    │           ├── contents.xcplayground
    │           ├── playground.xcworkspace/
    │           │   ├── contents.xcworkspacedata
    │           │   ├── xcshareddata/
    │           │   │   └── IDEWorkspaceChecks.plist
    │           │   └── xcuserdata/
    │           │       ├── kevin.xcuserdatad/
    │           │       │   └── UserInterfaceState.xcuserstate
    │           │       ├── zhoukaiwen.xcuserdatad/
    │           │       │   └── UserInterfaceState.xcuserstate
    │           │       └── zhowkevin.xcuserdatad/
    │           │           └── UserInterfaceState.xcuserstate
    │           └── timeline.xctimeline
    ├── Framer/
    │   └── Diary.framer/
    │       ├── .gitignore
    │       ├── app.coffee
    │       ├── framer/
    │       │   ├── coffee-script.js
    │       │   ├── config.json
    │       │   ├── framer.generated.js
    │       │   ├── framer.init.js
    │       │   ├── framer.js
    │       │   ├── framer.js.map.old
    │       │   ├── framer.js.old
    │       │   ├── framer.modules.js
    │       │   ├── mirror.css
    │       │   ├── style.css
    │       │   └── version
    │       ├── imported/
    │       │   └── Diary/
    │       │       ├── layers.json
    │       │       └── layers.json.js
    │       ├── index.html
    │       └── modules/
    │           └── myModule.coffee
    ├── Simple iOS App/
    │   ├── SimpleHello_0/
    │   │   ├── SimpleHello/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.xib
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Images.xcassets/
    │   │   │   │   └── AppIcon.appiconset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Info.plist
    │   │   │   └── ViewController.swift
    │   │   ├── SimpleHello.xcodeproj/
    │   │   │   ├── project.pbxproj
    │   │   │   ├── project.xcworkspace/
    │   │   │   │   ├── contents.xcworkspacedata
    │   │   │   │   ├── xcshareddata/
    │   │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   │   └── xcuserdata/
    │   │   │   │       ├── kevin.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │   │           └── UserInterfaceState.xcuserstate
    │   │   │   └── xcuserdata/
    │   │   │       ├── kevin.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── SimpleHello.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │           └── xcschemes/
    │   │   │               ├── SimpleHello.xcscheme
    │   │   │               └── xcschememanagement.plist
    │   │   └── SimpleHelloTests/
    │   │       ├── Info.plist
    │   │       └── SimpleHelloTests.swift
    │   ├── SimpleHello_1/
    │   │   ├── SimpleHello/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.xib
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Images.xcassets/
    │   │   │   │   └── AppIcon.appiconset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Info.plist
    │   │   │   └── ViewController.swift
    │   │   ├── SimpleHello.xcodeproj/
    │   │   │   ├── project.pbxproj
    │   │   │   ├── project.xcworkspace/
    │   │   │   │   ├── contents.xcworkspacedata
    │   │   │   │   ├── xcshareddata/
    │   │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   │   └── xcuserdata/
    │   │   │   │       ├── kevin.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │   │           └── UserInterfaceState.xcuserstate
    │   │   │   └── xcuserdata/
    │   │   │       ├── kevin.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── SimpleHello.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │           └── xcschemes/
    │   │   │               ├── SimpleHello.xcscheme
    │   │   │               └── xcschememanagement.plist
    │   │   └── SimpleHelloTests/
    │   │       ├── Info.plist
    │   │       └── SimpleHelloTests.swift
    │   └── SimpleHello_final/
    │       ├── SimpleHello/
    │       │   ├── AppDelegate.swift
    │       │   ├── Base.lproj/
    │       │   │   ├── LaunchScreen.xib
    │       │   │   └── Main.storyboard
    │       │   ├── Images.xcassets/
    │       │   │   └── AppIcon.appiconset/
    │       │   │       └── Contents.json
    │       │   ├── Info.plist
    │       │   └── ViewController.swift
    │       ├── SimpleHello.xcodeproj/
    │       │   ├── project.pbxproj
    │       │   ├── project.xcworkspace/
    │       │   │   ├── contents.xcworkspacedata
    │       │   │   ├── xcshareddata/
    │       │   │   │   └── IDEWorkspaceChecks.plist
    │       │   │   └── xcuserdata/
    │       │   │       ├── kevin.xcuserdatad/
    │       │   │       │   └── UserInterfaceState.xcuserstate
    │       │   │       ├── zhoukaiwen.xcuserdatad/
    │       │   │       │   └── UserInterfaceState.xcuserstate
    │       │   │       └── zhowkevin.xcuserdatad/
    │       │   │           └── UserInterfaceState.xcuserstate
    │       │   └── xcuserdata/
    │       │       ├── kevin.xcuserdatad/
    │       │       │   └── xcschemes/
    │       │       │       ├── SimpleHello.xcscheme
    │       │       │       └── xcschememanagement.plist
    │       │       ├── zhoukaiwen.xcuserdatad/
    │       │       │   └── xcschemes/
    │       │       │       └── xcschememanagement.plist
    │       │       └── zhowkevin.xcuserdatad/
    │       │           └── xcschemes/
    │       │               ├── SimpleHello.xcscheme
    │       │               └── xcschememanagement.plist
    │       └── SimpleHelloTests/
    │           ├── Info.plist
    │           └── SimpleHelloTests.swift
    ├── Sketch/
    │   ├── Diary.sketch
    │   └── Wunderlist_refine.sketch
    ├── Swift/
    │   ├── SwiftPlayground_1.playground/
    │   │   ├── Contents.swift
    │   │   ├── contents.xcplayground
    │   │   └── playground.xcworkspace/
    │   │       ├── contents.xcworkspacedata
    │   │       ├── xcshareddata/
    │   │       │   └── IDEWorkspaceChecks.plist
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── UserInterfaceState.xcuserstate
    │   │           ├── zhoukaiwen.xcuserdatad/
    │   │           │   └── UserInterfaceState.xcuserstate
    │   │           └── zhowkevin.xcuserdatad/
    │   │               └── UserInterfaceState.xcuserstate
    │   ├── SwiftPlayground_2.playground/
    │   │   ├── Contents.swift
    │   │   ├── contents.xcplayground
    │   │   └── playground.xcworkspace/
    │   │       ├── contents.xcworkspacedata
    │   │       ├── xcshareddata/
    │   │       │   └── IDEWorkspaceChecks.plist
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── UserInterfaceState.xcuserstate
    │   │           ├── zhoukaiwen.xcuserdatad/
    │   │           │   └── UserInterfaceState.xcuserstate
    │   │           └── zhowkevin.xcuserdatad/
    │   │               └── UserInterfaceState.xcuserstate
    │   ├── SwiftPlayground_enum.playground/
    │   │   ├── Contents.swift
    │   │   ├── contents.xcplayground
    │   │   └── playground.xcworkspace/
    │   │       ├── contents.xcworkspacedata
    │   │       ├── xcshareddata/
    │   │       │   └── IDEWorkspaceChecks.plist
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── UserInterfaceState.xcuserstate
    │   │           ├── zhoukaiwen.xcuserdatad/
    │   │           │   └── UserInterfaceState.xcuserstate
    │   │           └── zhowkevin.xcuserdatad/
    │   │               └── UserInterfaceState.xcuserstate
    │   └── SwiftPlayground_protocol.playground/
    │       ├── Contents.swift
    │       ├── contents.xcplayground
    │       ├── playground.xcworkspace/
    │       │   ├── contents.xcworkspacedata
    │       │   ├── xcshareddata/
    │       │   │   └── IDEWorkspaceChecks.plist
    │       │   └── xcuserdata/
    │       │       ├── kevin.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       ├── zhoukaiwen.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       └── zhowkevin.xcuserdatad/
    │       │           └── UserInterfaceState.xcuserstate
    │       └── timeline.xctimeline
    ├── What is iOS App/
    │   ├── What is iOS App/
    │   │   ├── AppDelegate.swift
    │   │   ├── Assets.xcassets/
    │   │   │   └── AppIcon.appiconset/
    │   │   │       └── Contents.json
    │   │   ├── Base.lproj/
    │   │   │   ├── LaunchScreen.storyboard
    │   │   │   └── Main.storyboard
    │   │   ├── Info.plist
    │   │   └── ViewController.swift
    │   └── What is iOS App.xcodeproj/
    │       ├── project.pbxproj
    │       ├── project.xcworkspace/
    │       │   ├── contents.xcworkspacedata
    │       │   ├── xcshareddata/
    │       │   │   └── IDEWorkspaceChecks.plist
    │       │   └── xcuserdata/
    │       │       ├── kevin.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       ├── kevinzhow.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       ├── zhoukaiwen.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       └── zhowkevin.xcuserdatad/
    │       │           └── UserInterfaceState.xcuserstate
    │       └── xcuserdata/
    │           ├── kevin.xcuserdatad/
    │           │   └── xcschemes/
    │           │       ├── What is iOS App.xcscheme
    │           │       └── xcschememanagement.plist
    │           ├── kevinzhow.xcuserdatad/
    │           │   └── xcschemes/
    │           │       ├── What is iOS App.xcscheme
    │           │       └── xcschememanagement.plist
    │           ├── zhoukaiwen.xcuserdatad/
    │           │   └── xcschemes/
    │           │       └── xcschememanagement.plist
    │           └── zhowkevin.xcuserdatad/
    │               └── xcschemes/
    │                   ├── What is iOS App.xcscheme
    │                   └── xcschememanagement.plist
    └── iOS Animation/
        ├── iOS Animation/
        │   ├── AppDelegate.swift
        │   ├── Assets.xcassets/
        │   │   └── AppIcon.appiconset/
        │   │       └── Contents.json
        │   ├── Base.lproj/
        │   │   ├── LaunchScreen.storyboard
        │   │   └── Main.storyboard
        │   ├── DetailViewController.swift
        │   ├── Info.plist
        │   └── MasterViewController.swift
        └── iOS Animation.xcodeproj/
            ├── project.pbxproj
            ├── project.xcworkspace/
            │   ├── contents.xcworkspacedata
            │   ├── xcshareddata/
            │   │   └── IDEWorkspaceChecks.plist
            │   └── xcuserdata/
            │       ├── kevin.xcuserdatad/
            │       │   └── UserInterfaceState.xcuserstate
            │       ├── zhoukaiwen.xcuserdatad/
            │       │   └── UserInterfaceState.xcuserstate
            │       └── zhowkevin.xcuserdatad/
            │           └── UserInterfaceState.xcuserstate
            └── xcuserdata/
                ├── kevin.xcuserdatad/
                │   └── xcschemes/
                │       ├── iOS Animation.xcscheme
                │       └── xcschememanagement.plist
                ├── zhoukaiwen.xcuserdatad/
                │   └── xcschemes/
                │       └── xcschememanagement.plist
                └── zhowkevin.xcuserdatad/
                    └── xcschemes/
                        ├── iOS Animation.xcscheme
                        └── xcschememanagement.plist

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
Pods
.DS_Store


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/AppDelegate.swift
================================================
//
//  AppDelegate.swift
//  Animation Advanced
//
//  Created by zhowkevin on 15/8/29.
//  Copyright © 2015年 zhowkevin. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDelegate {

    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        let splitViewController = self.window!.rootViewController as! UISplitViewController
        let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as! UINavigationController
        navigationController.topViewController!.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem
        splitViewController.delegate = self
        return true
    }

    func applicationWillResignActive(_ application: UIApplication) {
        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
    }

    func applicationDidEnterBackground(_ application: UIApplication) {
        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
    }

    func applicationWillEnterForeground(_ application: UIApplication) {
        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
    }

    func applicationDidBecomeActive(_ application: UIApplication) {
        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
    }

    func applicationWillTerminate(_ application: UIApplication) {
        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    }

    // MARK: - Split view

    func splitViewController(_ splitViewController: UISplitViewController, collapseSecondary secondaryViewController:UIViewController, onto primaryViewController:UIViewController) -> Bool {
        guard let secondaryAsNavController = secondaryViewController as? UINavigationController else { return false }
        guard let topAsDetailController = secondaryAsNavController.topViewController as? DetailViewController else { return false }
        if topAsDetailController.detailItem == nil {
            // Return true to indicate that we have handled the collapse by doing nothing; the secondary controller will be discarded.
            return true
        }
        return false
    }

}



================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/Assets.xcassets/AppIcon.appiconset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "iphone",
      "size" : "29x29",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "29x29",
      "scale" : "3x"
    },
    {
      "idiom" : "iphone",
      "size" : "40x40",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "40x40",
      "scale" : "3x"
    },
    {
      "idiom" : "iphone",
      "size" : "60x60",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "60x60",
      "scale" : "3x"
    },
    {
      "idiom" : "ipad",
      "size" : "29x29",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "29x29",
      "scale" : "2x"
    },
    {
      "idiom" : "ipad",
      "size" : "40x40",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "40x40",
      "scale" : "2x"
    },
    {
      "idiom" : "ipad",
      "size" : "76x76",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "76x76",
      "scale" : "2x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/Assets.xcassets/Contents.json
================================================
{
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/Assets.xcassets/leaf.imageset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "filename" : "SVNKLWEYMX.jpg",
      "scale" : "2x"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/Base.lproj/LaunchScreen.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8150" systemVersion="15A204g" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM">
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8122"/>
    </dependencies>
    <scenes>
        <!--View Controller-->
        <scene sceneID="EHf-IW-A2E">
            <objects>
                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
                    <layoutGuides>
                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
                    </layoutGuides>
                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <animations/>
                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
                    </view>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="53" y="375"/>
        </scene>
    </scenes>
</document>


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8187.4" systemVersion="14F27" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="H1p-Uh-vWS">
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8151.3"/>
    </dependencies>
    <scenes>
        <!--Master-->
        <scene sceneID="pY4-Hu-kfo">
            <objects>
                <navigationController title="Master" id="RMx-3f-FxP" sceneMemberID="viewController">
                    <navigationBar key="navigationBar" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="Pmd-2v-anx">
                        <autoresizingMask key="autoresizingMask"/>
                    </navigationBar>
                    <connections>
                        <segue destination="7bK-jq-Zjz" kind="relationship" relationship="rootViewController" id="tsl-Nk-0bq"/>
                    </connections>
                </navigationController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="8fS-aE-onr" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="-38" y="-630"/>
        </scene>
        <!--Detail-->
        <scene sceneID="yUG-lL-AsK">
            <objects>
                <viewController title="Detail" id="JEX-9P-axG" customClass="DetailViewController" customModule="Animation_Advanced" customModuleProvider="target" sceneMemberID="viewController">
                    <layoutGuides>
                        <viewControllerLayoutGuide type="top" id="SYR-Wa-9uf"/>
                        <viewControllerLayoutGuide type="bottom" id="GAO-Cl-Wes"/>
                    </layoutGuides>
                    <view key="view" contentMode="scaleToFill" id="svH-Pt-448">
                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <subviews>
                            <label clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" text="Detail view content goes here" textAlignment="center" lineBreakMode="tailTruncation" minimumFontSize="10" translatesAutoresizingMaskIntoConstraints="NO" id="0XM-y9-sOw">
                                <rect key="frame" x="20" y="292" width="560" height="17"/>
                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                <fontDescription key="fontDescription" type="system" size="system"/>
                                <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
                                <nil key="highlightedColor"/>
                            </label>
                        </subviews>
                        <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
                        <constraints>
                            <constraint firstItem="0XM-y9-sOw" firstAttribute="leading" secondItem="svH-Pt-448" secondAttribute="leading" constant="20" symbolic="YES" id="Tsc-yG-G1q"/>
                            <constraint firstItem="0XM-y9-sOw" firstAttribute="centerY" secondItem="svH-Pt-448" secondAttribute="centerY" id="jWN-iV-94e"/>
                            <constraint firstAttribute="trailing" secondItem="0XM-y9-sOw" secondAttribute="trailing" constant="20" symbolic="YES" id="tHV-ZD-HQj"/>
                        </constraints>
                    </view>
                    <toolbarItems/>
                    <navigationItem key="navigationItem" title="Detail" id="mOI-FS-AaM"/>
                    <connections>
                        <outlet property="detailDescriptionLabel" destination="0XM-y9-sOw" id="deQ-Na-JPF"/>
                    </connections>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="FJe-Yq-33r" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="727" y="129"/>
        </scene>
        <!--Split View Controller-->
        <scene sceneID="Nki-YV-4Qg">
            <objects>
                <splitViewController id="H1p-Uh-vWS" sceneMemberID="viewController">
                    <toolbarItems/>
                    <connections>
                        <segue destination="RMx-3f-FxP" kind="relationship" relationship="masterViewController" id="BlO-5A-QYV"/>
                        <segue destination="vC3-pB-5Vb" kind="relationship" relationship="detailViewController" id="Tll-UG-LXB"/>
                    </connections>
                </splitViewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="cZU-Oi-B1e" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="-856" y="-330"/>
        </scene>
        <!--Master-->
        <scene sceneID="smW-Zh-WAh">
            <objects>
                <tableViewController title="Master" clearsSelectionOnViewWillAppear="NO" id="7bK-jq-Zjz" customClass="MasterViewController" customModule="Animation_Advanced" customModuleProvider="target" sceneMemberID="viewController">
                    <tableView key="view" clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="22" sectionFooterHeight="22" id="r7i-6Z-zg0">
                        <rect key="frame" x="0.0" y="0.0" width="600" height="600"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                        <prototypes>
                            <tableViewCell contentMode="scaleToFill" selectionStyle="blue" hidesAccessoryWhenEditing="NO" indentationLevel="1" indentationWidth="0.0" reuseIdentifier="Cell" textLabel="Arm-wq-HPj" style="IBUITableViewCellStyleDefault" id="WCw-Qf-5nD">
                                <rect key="frame" x="0.0" y="86" width="600" height="44"/>
                                <autoresizingMask key="autoresizingMask"/>
                                <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="WCw-Qf-5nD" id="37f-cq-3Eg">
                                    <rect key="frame" x="0.0" y="0.0" width="600" height="43.5"/>
                                    <autoresizingMask key="autoresizingMask"/>
                                    <subviews>
                                        <label opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" text="Title" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" id="Arm-wq-HPj">
                                            <rect key="frame" x="15" y="0.0" width="570" height="43.5"/>
                                            <autoresizingMask key="autoresizingMask"/>
                                            <fontDescription key="fontDescription" type="boldSystem" pointSize="20"/>
                                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
                                            <color key="highlightedColor" red="1" green="1" blue="1" alpha="1" colorSpace="calibratedRGB"/>
                                        </label>
                                    </subviews>
                                </tableViewCellContentView>
                                <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                <connections>
                                    <segue destination="vC3-pB-5Vb" kind="showDetail" identifier="showDetail" id="6S0-TO-JiA"/>
                                </connections>
                            </tableViewCell>
                        </prototypes>
                        <sections/>
                        <connections>
                            <outlet property="dataSource" destination="7bK-jq-Zjz" id="Gho-Na-rnu"/>
                            <outlet property="delegate" destination="7bK-jq-Zjz" id="RA6-mI-bju"/>
                        </connections>
                    </tableView>
                    <navigationItem key="navigationItem" title="Animation Advanced" id="Zdf-7t-Un8"/>
                </tableViewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="Rux-fX-hf1" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="709" y="-630"/>
        </scene>
        <!--Navigation Controller-->
        <scene sceneID="r7l-gg-dq7">
            <objects>
                <navigationController id="vC3-pB-5Vb" sceneMemberID="viewController">
                    <navigationBar key="navigationBar" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" id="DjV-YW-jjY">
                        <autoresizingMask key="autoresizingMask"/>
                    </navigationBar>
                    <connections>
                        <segue destination="JEX-9P-axG" kind="relationship" relationship="rootViewController" id="GKi-kA-LjT"/>
                    </connections>
                </navigationController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="SLD-UC-DBI" userLabel="First Responder" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="-45" y="129"/>
        </scene>
    </scenes>
    <inferredMetricsTieBreakers>
        <segue reference="6S0-TO-JiA"/>
    </inferredMetricsTieBreakers>
</document>


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/DetailViewController.swift
================================================
//
//  DetailViewController.swift
//  Animation Advanced
//
//  Created by zhowkevin on 15/8/29.
//  Copyright © 2015年 zhowkevin. All rights reserved.
//

import UIKit

let color = UIColor(red: 0.225, green: 1.000, blue: 0.743, alpha: 1.000)

class DetailViewController: UIViewController {

    @IBOutlet weak var detailDescriptionLabel: UILabel!

    let jellyShape = CAShapeLayer()
    
    var currentControlPoint: CGFloat = 0
    
    var dummyView: UIView?
    
    //
    
    var box : UIView?
    
    var animator:UIDynamicAnimator? = nil
    
    var gravity: UIGravityBehavior!
    
    var collision: UICollisionBehavior!

    var displayLinkUIDynamic: CADisplayLink?
    
    //
    
    var imageView = UIImageView(frame: CGRect.zero)
    
    var maskView = UIImageView(frame: CGRect.zero)

    var detailItem: AnimationType? {
        didSet {
            // Update the view.
            self.configureView()
        }
    }

    func configureView() {
        // Update the user interface for the detail item.
        if let detail = self.detailItem {
            if let label = self.detailDescriptionLabel {
                label.text = detail.rawValue
            }
            
        }
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        self.configureView()
    }
    
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        
        if let detail = self.detailItem {
            switch detail {
            case .Bezier:
                bezierSimple()
            case .BezierAdvanced:
                bezierAdvanced()
            case .BezierUIDynamic:
                bezierUIDynamic()
            case .KeyFrame:
                keyFrame()
            case .MaskAnimation:
                maskAnimation()
            }
        }

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}



================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>en</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>1</string>
	<key>LSRequiresIPhoneOS</key>
	<true/>
	<key>UILaunchStoryboardName</key>
	<string>LaunchScreen</string>
	<key>UIMainStoryboardFile</key>
	<string>Main</string>
	<key>UIRequiredDeviceCapabilities</key>
	<array>
		<string>armv7</string>
	</array>
	<key>UIStatusBarTintParameters</key>
	<dict>
		<key>UINavigationBar</key>
		<dict>
			<key>Style</key>
			<string>UIBarStyleDefault</string>
			<key>Translucent</key>
			<false/>
		</dict>
	</dict>
	<key>UISupportedInterfaceOrientations</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
	<key>UISupportedInterfaceOrientations~ipad</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationPortraitUpsideDown</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
</dict>
</plist>


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/MasterViewController.swift
================================================
//
//  MasterViewController.swift
//  Animation Advanced
//
//  Created by zhowkevin on 15/8/29.
//  Copyright © 2015年 zhowkevin. All rights reserved.
//

import UIKit

enum AnimationType: String {
    case Bezier = "BezierSimple"
    case BezierAdvanced = "BezierAdvanced"
    case BezierUIDynamic = "BezierUIDynamic"
    case KeyFrame = "KeyFrame"
    case MaskAnimation = "MaskAnimation"
}

class MasterViewController: UITableViewController {

    var detailViewController: DetailViewController? = nil
    var objects = [AnimationType.Bezier, AnimationType.BezierAdvanced,
        AnimationType.BezierUIDynamic, AnimationType.KeyFrame, AnimationType.MaskAnimation]


    override func viewDidLoad() {
        super.viewDidLoad()

        if let split = self.splitViewController {
            let controllers = split.viewControllers
            self.detailViewController = (controllers[controllers.count-1] as! UINavigationController).topViewController as? DetailViewController
        }
    }

    override func viewWillAppear(_ animated: Bool) {
        self.clearsSelectionOnViewWillAppear = self.splitViewController!.isCollapsed
        super.viewWillAppear(animated)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


    // MARK: - Segues

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        if segue.identifier == "showDetail" {
            if let indexPath = self.tableView.indexPathForSelectedRow {
                let object = objects[(indexPath as NSIndexPath).row]
                let controller = (segue.destination as! UINavigationController).topViewController as! DetailViewController
                controller.detailItem = object
                controller.navigationItem.leftBarButtonItem = self.splitViewController?.displayModeButtonItem
                controller.navigationItem.leftItemsSupplementBackButton = true
            }
        }
    }

    // MARK: - Table View

    override func numberOfSections(in tableView: UITableView) -> Int {
        return 1
    }

    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return objects.count
    }

    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)

        let object = objects[(indexPath as NSIndexPath).row]
        cell.textLabel!.text = object.rawValue
        return cell
    }

    override func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
        // Return false if you do not want the specified item to be editable.
        return true
    }

    override func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {
        if editingStyle == .delete {
            objects.remove(at: (indexPath as NSIndexPath).row)
            tableView.deleteRows(at: [indexPath], with: .fade)
        } else if editingStyle == .insert {
            // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view.
        }
    }


}



================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/bezierAdvanced.swift
================================================
//
//  bezierAdvanced.swift
//  Animation Advanced
//
//  Created by zhowkevin on 15/9/6.
//  Copyright © 2015年 zhowkevin. All rights reserved.
//

import UIKit

extension DetailViewController {
    /**
    For BezierAdvanced
    */
    
    func bezierAdvanced() {
        
        let pan = UIPanGestureRecognizer(target: self, action: #selector(DetailViewController.updatePathPan(_:)))
        
        view.addGestureRecognizer(pan)
        //// 绘制多边形
        let polygonPath = UIBezierPath()
        polygonPath.move(to: CGPoint(x: 0, y: 0))
        polygonPath.addQuadCurve(to: CGPoint(x: 0, y: view.frame.height), controlPoint: CGPoint(x: 0, y: view.frame.height/2.0))
        polygonPath.close()
        
        // 绘制 CAShapeLayer
        
        jellyShape.drawsAsynchronously = true
        jellyShape.frame = view.bounds
        jellyShape.path = polygonPath.cgPath
        jellyShape.lineWidth = 3.0
        jellyShape.lineCap = .round
        jellyShape.lineJoin = .round
        jellyShape.strokeColor = UIColor.white.cgColor
        jellyShape.fillColor = color.cgColor
        view.layer.addSublayer(jellyShape)
    }
    
    @objc func updatePathPan(_ gesture: UIPanGestureRecognizer) {
        
        if gesture.state == .ended {
            
            let displayLink = CADisplayLink(target: self, selector: #selector(DetailViewController.syncPath))
            
            displayLink.add(to: RunLoop.current, forMode: .default)
            
            dummyView = UIView(frame: CGRect(x: currentControlPoint, y: view.frame.height/2.0, width: 10, height: 10))
            
            view.addSubview(dummyView!)
            
            UIView.animate(withDuration: 1.0, delay: 0, usingSpringWithDamping: 0.3, initialSpringVelocity: 50, options: UIView.AnimationOptions(), animations: { () -> Void in
                
                self.dummyView!.center = CGPoint(x: 0, y: self.view.frame.height/2.0)
                
                }, completion: { finish in
                    self.currentControlPoint = 0
                    displayLink.invalidate()
            })
            
            
            
        } else if gesture.state == .changed {
            let translationPoint = gesture.translation(in: view)
            
            currentControlPoint = currentControlPoint + translationPoint.x
            
            //// 绘制多边形
            let polygonPath = UIBezierPath()
            polygonPath.move(to: CGPoint(x: 0, y: 0))
            polygonPath.addQuadCurve(to: CGPoint(x: 0, y: view.frame.height), controlPoint: CGPoint(x: currentControlPoint, y: view.frame.height/2.0))
            polygonPath.close()
            gesture.setTranslation(CGPoint.zero, in: view)
            
            jellyShape.path = polygonPath.cgPath
        }
        
    }
    
    @objc func syncPath() {
        
        if let dummyView = dummyView, let currentLayer = dummyView.layer.presentation() {
            //// 绘制多边形
            let polygonPath = UIBezierPath()
            polygonPath.move(to: CGPoint(x: 0, y: 0))
            polygonPath.addQuadCurve(to: CGPoint(x: 0, y: view.frame.height), controlPoint: CGPoint(x: currentLayer.frame.origin.x, y: view.frame.height/2.0))
            polygonPath.close()
            
            jellyShape.path = polygonPath.cgPath
        }
        
    }
    
}


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/bezierSimple.swift
================================================
//
//  bezierSimple.swift
//  Animation Advanced
//
//  Created by zhowkevin on 15/9/6.
//  Copyright © 2015年 zhowkevin. All rights reserved.
//

import UIKit

extension DetailViewController {
    
    /**
    For Bezier
    */
    
    
    func bezierSimple() {
        
        
        //// 绘制多边形
        let polygonPath = UIBezierPath()
        polygonPath.move(to: CGPoint(x: 162, y: 93))
        polygonPath.addLine(to: CGPoint(x: 230.48, y: 142.75))
        polygonPath.addLine(to: CGPoint(x: 204.32, y: 223.25))
        polygonPath.addLine(to: CGPoint(x: 119.68, y: 223.25))
        polygonPath.addLine(to: CGPoint(x: 93.52, y: 142.75))
        polygonPath.close()
        
        
        //// 绘制五角星
        let starPath = UIBezierPath()
        starPath.move(to: CGPoint(x: 162, y: 82))
        starPath.addLine(to: CGPoint(x: 191.27, y: 124.71))
        starPath.addLine(to: CGPoint(x: 240.94, y: 139.35))
        starPath.addLine(to: CGPoint(x: 209.36, y: 180.39))
        starPath.addLine(to: CGPoint(x: 210.79, y: 232.15))
        starPath.addLine(to: CGPoint(x: 162, y: 214.8))
        starPath.addLine(to: CGPoint(x: 113.21, y: 232.15))
        starPath.addLine(to: CGPoint(x: 114.64, y: 180.39))
        starPath.addLine(to: CGPoint(x: 83.06, y: 139.35))
        starPath.addLine(to: CGPoint(x: 132.73, y: 124.71))
        starPath.close()
        
        // 绘制 CAShapeLayer
        
        let shape = CAShapeLayer()
        shape.drawsAsynchronously = true
        shape.frame = view.bounds
        shape.path = polygonPath.cgPath
        shape.lineWidth = 3.0
        shape.lineCap = .round
        shape.lineJoin = .round
        shape.strokeColor = UIColor.white.cgColor
        shape.fillColor = color.cgColor
        view.layer.addSublayer(shape)
        
        let pathAnimation = CABasicAnimation(keyPath: "path")
        pathAnimation.fromValue = polygonPath.cgPath
        pathAnimation.toValue = starPath.cgPath
        pathAnimation.duration = 1.0
        pathAnimation.autoreverses = false
        pathAnimation.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeInEaseOut)
        
        shape.add(pathAnimation, forKey: "animationKey")
        
        shape.path = starPath.cgPath
    }
}


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/bezierUIDynamic.swift
================================================
//
//  bezierUIDynamic.swift
//  Animation Advanced
//
//  Created by zhowkevin on 15/9/6.
//  Copyright © 2015年 zhowkevin. All rights reserved.
//

import UIKit

extension DetailViewController {
    
    /**
    For BezierUIDynamic
    */
    
    
    @objc func updateUIDynamicPathPan(_ gesture: UIPanGestureRecognizer) {
        
        if gesture.state == .ended {
            
            bezierUIDynamicSetup()
            
        } else if gesture.state == .changed {
            
            let translationPoint = gesture.translation(in: view)
            
            currentControlPoint = currentControlPoint + translationPoint.x
            
            //// Polygon Drawing
            let polygonPath = UIBezierPath()
            polygonPath.move(to: CGPoint(x: 0, y: 0))
            polygonPath.addQuadCurve(to: CGPoint(x: 0, y: view.frame.height), controlPoint: CGPoint(x: currentControlPoint, y: view.frame.height/2.0))
            polygonPath.close()
            gesture.setTranslation(CGPoint.zero, in: view)
            
            jellyShape.path = polygonPath.cgPath
        } else if gesture.state == .began {
            
            displayLinkUIDynamic?.invalidate()
            currentControlPoint = 0
            
        }
        
    }
    
    
    func bezierUIDynamic() {
        
        let pan = UIPanGestureRecognizer(target: self, action: #selector(DetailViewController.updateUIDynamicPathPan(_:)))
        
        view.addGestureRecognizer(pan)
        //// Polygon Drawing
        let polygonPath = UIBezierPath()
        polygonPath.move(to: CGPoint(x: 0, y: 0))
        polygonPath.addQuadCurve(to: CGPoint(x: 0, y: view.frame.height), controlPoint: CGPoint(x: 0, y: view.frame.height/2.0))
        polygonPath.close()
        
        // 绘制 CAShapeLayer
        
        jellyShape.drawsAsynchronously = true
        jellyShape.frame = view.bounds
        jellyShape.path = polygonPath.cgPath
        jellyShape.lineWidth = 3.0
        jellyShape.lineCap = CAShapeLayerLineCap.round
        jellyShape.lineJoin = CAShapeLayerLineJoin.round
        jellyShape.strokeColor = UIColor.white.cgColor
        jellyShape.fillColor = color.cgColor
        view.layer.addSublayer(jellyShape)
    }
    
    
    func bezierUIDynamicSetup() {
        // 创建物理碰撞盒子
        box = UIView(frame: CGRect(x: currentControlPoint, y: view.frame.height/2.0, width: 10, height: 10))
        //        box?.backgroundColor = UIColor.redColor()
        view.addSubview(box!)
        
        // 创建 Animator
        animator = UIDynamicAnimator(referenceView:self.view)
        
        // 给盒子添加重力属性
        gravity = UIGravityBehavior(items: [box!])
        
        // 将重力调整为x轴向左坠落
        gravity.gravityDirection = CGVector(dx: -10.9, dy: 0)
        
        // 给盒子增加碰撞检测
        collision = UICollisionBehavior(items: [box!])
        collision.translatesReferenceBoundsIntoBoundary = true
        
        // 修改盒子的弹性
        let itemBehaviour = UIDynamicItemBehavior(items: [box!])
        itemBehaviour.elasticity = 0.6
        
        animator?.addBehavior(itemBehaviour)
        animator?.addBehavior(collision)
        animator?.addBehavior(gravity)
        
        displayLinkUIDynamic = CADisplayLink(target: self, selector: #selector(DetailViewController.syncUIDynamicPath))
        
        displayLinkUIDynamic!.add(to: .current, forMode: .default)
    }
    
    @objc func syncUIDynamicPath() {
        
        if let dummyView = box, let currentLayer = dummyView.layer.presentation() {
            //// Polygon Drawing
            let polygonPath = UIBezierPath()
            polygonPath.move(to: CGPoint(x: 0, y: 0))
            polygonPath.addQuadCurve(to: CGPoint(x: 0, y: view.frame.height), controlPoint: CGPoint(x: currentLayer.frame.origin.x, y: view.frame.height/2.0))
            polygonPath.close()
            
            jellyShape.path = polygonPath.cgPath
        }
        
    }
    
    
}


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/keyframe.swift
================================================
//
//  keyframe.swift
//  Animation Advanced
//
//  Created by zhowkevin on 15/9/6.
//  Copyright © 2015年 zhowkevin. All rights reserved.
//

import UIKit

extension DetailViewController {
    func keyFrame() {
        imageView.image = UIImage(named: "leaf")
        
        // clipsToBounds使得图片显示不超过imageView的bounds
        imageView.clipsToBounds = true
        
        // ScaleAspectFill避免图片在缩放的时候变形
        imageView.contentMode = .scaleAspectFill
        
        view.window!.addSubview(imageView)
        imageView.frame = CGRect(x: 0, y: 64, width: view.frame.width, height: 260)
        startKeyFrameAnimation()
    }
    
    func startKeyFrameAnimation() {
        // 定义一个总时间为2秒的动画
        UIView.animateKeyframes(withDuration: 2, delay: 0, options: UIView.KeyframeAnimationOptions.calculationModeCubic, animations: {
            
            // 在动画进度为0的时候开始,耗时0.5秒
            UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0.5) {
                self.imageView.frame = CGRect(x: 0, y: 48, width: self.view.frame.width, height: 0)
            }
            
            // 在动画进度为0.25的时候开始,耗时0.5秒
            UIView.addKeyframe(withRelativeStartTime: 0.25, relativeDuration: 0.5) {
                self.imageView.frame = CGRect(x: 0, y: 32, width: self.view.frame.width, height: 260 + self.view.frame.height/4.0)
            }
            
            // 在动画进度为0.5的时候开始,耗时0.5秒
            UIView.addKeyframe(withRelativeStartTime: 0.5, relativeDuration: 0.5) {
                self.imageView.frame = CGRect(x: 0, y: 16, width: self.view.frame.width, height: 260 + self.view.frame.height/2.0)
            }
            
            // 在动画进度为0.75的时候开始,耗时0.5秒
            UIView.addKeyframe(withRelativeStartTime: 0.75, relativeDuration: 0.5) {
                self.imageView.frame = CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height)
            }
            }, completion: nil)
        
    }
}


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced/maskAnimation.swift
================================================
//
//  maskAnimation.swift
//  Animation Advanced
//
//  Created by zhowkevin on 15/9/6.
//  Copyright © 2015年 zhowkevin. All rights reserved.
//

import UIKit

extension DetailViewController {
    
    func maskAnimation() {
        imageView.image = UIImage(named: "leaf")
        imageView.clipsToBounds = true
        imageView.contentMode = .scaleAspectFill
        view.window!.addSubview(imageView)
        imageView.frame = CGRect(x: 0, y: 0, width: view.frame.width, height: view.frame.size
        .height)
        
        maskView.frame = CGRect(x: 0, y: 64, width: 30, height: 30)
        maskView.layer.cornerRadius = 15.0
        maskView.layer.masksToBounds = true
        maskView.backgroundColor = UIColor.black
        imageView.layer.mask = maskView.layer
        
        startMaskAnimation()
    }
    
    func startMaskAnimation() {
        
        let screenWidth = view.frame.width
        let screenHeight = view.frame.height
        
        // 针对bounds的变形动画
        let transformAnim            = CAKeyframeAnimation(keyPath:"bounds")
        
        // values中定义了各个关键帧真对属性所需要修改的目标数值
        transformAnim.values         = [NSValue(cgRect:CGRect(x: 0, y: 0, width: 64, height: 64)) ,
                                        NSValue(cgRect:CGRect(x: 0, y: 0, width: 128, height: 128)) ,
                                        NSValue(cgRect:CGRect(x: 0, y: 0, width: 256, height: 256)) ,
                                        NSValue(cgRect:CGRect(x: 0, y: 0, width: view.frame.height*2 , height: view.frame.height*2)) ]
        
        // keyTimes和values是一一对应的关系,定义了每个关键帧
        // 执行时相对于总时间的位置
        transformAnim.keyTimes       = [0, 0.349, 0.618, 1]
        
        // duration为总时间
        transformAnim.duration       = 1
        
        // removedOnCompletion定义了动画完成时是否从Layer上删除
        transformAnim.isRemovedOnCompletion = false
        
        // fillMode定义了动画完成时,对于Layer的属性修改是否保留
        transformAnim.fillMode = .forwards
        
        // 我们这里将removedOnCompletion定义为false,fillMode
        // 定义为kCAFillModeForwards则可以使得动画结束时,保留
        // Layer的结束状态,你可以通过注释到这两句,看看其默认效果
        
        self.maskView.layer.add(transformAnim, forKey: "bounds")
        
        // 定义位移动画,因为Core Animation不能操作frame,所以
        // 需要拆分成position和bounds两个动画
        
        let positionAnim            = CAKeyframeAnimation(keyPath:"position")
        positionAnim.values         = [NSValue(cgPoint:CGPoint(x: screenWidth/8.0, y: screenHeight/8.0)) ,
            NSValue(cgPoint:CGPoint(x: screenWidth/4.0, y: screenHeight/4.0)) ,
            NSValue(cgPoint:CGPoint(x: screenWidth/2.0, y: screenHeight/2.0)) ,
            NSValue(cgPoint:CGPoint(x: screenWidth/2.0, y: screenHeight/2.0)) ]
        positionAnim.keyTimes       = [0, 0.249, 0.618, 1]
        positionAnim.duration       = 1
        positionAnim.isRemovedOnCompletion = false
        positionAnim.fillMode = .forwards
        self.maskView.layer.add(positionAnim, forKey: "position")
        
        // 定义修改圆角的动画
        
        let radiusAnim            = CAKeyframeAnimation(keyPath:"cornerRadius")
        radiusAnim.values         = [32,64,128,view.frame.height]
        radiusAnim.keyTimes       = [0, 0.349, 0.618, 1]
        radiusAnim.duration       = 1
        radiusAnim.isRemovedOnCompletion = false
        radiusAnim.fillMode = .forwards
        self.maskView.layer.add(radiusAnim, forKey: "cornerRadius")

        
    }
    
}


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		6A4FDAFA1B9B5C3300C4A33B /* bezierSimple.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4FDAF91B9B5C3300C4A33B /* bezierSimple.swift */; };
		6A4FDAFC1B9B5C8700C4A33B /* bezierAdvanced.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4FDAFB1B9B5C8700C4A33B /* bezierAdvanced.swift */; };
		6A4FDAFE1B9B5CBB00C4A33B /* bezierUIDynamic.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4FDAFD1B9B5CBB00C4A33B /* bezierUIDynamic.swift */; };
		6A4FDB001B9B5E3600C4A33B /* keyframe.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4FDAFF1B9B5E3600C4A33B /* keyframe.swift */; };
		6A4FDB021B9B636A00C4A33B /* maskAnimation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A4FDB011B9B636A00C4A33B /* maskAnimation.swift */; };
		6AC7997C1B92082C00DDFD47 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AC7997B1B92082C00DDFD47 /* AppDelegate.swift */; };
		6AC7997E1B92082C00DDFD47 /* MasterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AC7997D1B92082C00DDFD47 /* MasterViewController.swift */; };
		6AC799801B92082C00DDFD47 /* DetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AC7997F1B92082C00DDFD47 /* DetailViewController.swift */; };
		6AC799831B92082C00DDFD47 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6AC799811B92082C00DDFD47 /* Main.storyboard */; };
		6AC799851B92082C00DDFD47 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 6AC799841B92082C00DDFD47 /* Assets.xcassets */; };
		6AC799881B92082C00DDFD47 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6AC799861B92082C00DDFD47 /* LaunchScreen.storyboard */; };
/* End PBXBuildFile section */

/* Begin PBXFileReference section */
		6A4FDAF91B9B5C3300C4A33B /* bezierSimple.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = bezierSimple.swift; sourceTree = "<group>"; };
		6A4FDAFB1B9B5C8700C4A33B /* bezierAdvanced.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = bezierAdvanced.swift; sourceTree = "<group>"; };
		6A4FDAFD1B9B5CBB00C4A33B /* bezierUIDynamic.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = bezierUIDynamic.swift; sourceTree = "<group>"; };
		6A4FDAFF1B9B5E3600C4A33B /* keyframe.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = keyframe.swift; sourceTree = "<group>"; };
		6A4FDB011B9B636A00C4A33B /* maskAnimation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = maskAnimation.swift; sourceTree = "<group>"; };
		6AC799781B92082C00DDFD47 /* Animation Advanced.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Animation Advanced.app"; sourceTree = BUILT_PRODUCTS_DIR; };
		6AC7997B1B92082C00DDFD47 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
		6AC7997D1B92082C00DDFD47 /* MasterViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MasterViewController.swift; sourceTree = "<group>"; };
		6AC7997F1B92082C00DDFD47 /* DetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DetailViewController.swift; sourceTree = "<group>"; };
		6AC799821B92082C00DDFD47 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
		6AC799841B92082C00DDFD47 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
		6AC799871B92082C00DDFD47 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
		6AC799891B92082C00DDFD47 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		6AC799751B92082C00DDFD47 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		6A4FDB031B9B63C700C4A33B /* Animations */ = {
			isa = PBXGroup;
			children = (
				6A4FDAFD1B9B5CBB00C4A33B /* bezierUIDynamic.swift */,
				6A4FDAFF1B9B5E3600C4A33B /* keyframe.swift */,
				6A4FDAFB1B9B5C8700C4A33B /* bezierAdvanced.swift */,
				6A4FDAF91B9B5C3300C4A33B /* bezierSimple.swift */,
				6A4FDB011B9B636A00C4A33B /* maskAnimation.swift */,
			);
			name = Animations;
			sourceTree = "<group>";
		};
		6AC7996F1B92082C00DDFD47 = {
			isa = PBXGroup;
			children = (
				6AC7997A1B92082C00DDFD47 /* Animation Advanced */,
				6AC799791B92082C00DDFD47 /* Products */,
			);
			sourceTree = "<group>";
		};
		6AC799791B92082C00DDFD47 /* Products */ = {
			isa = PBXGroup;
			children = (
				6AC799781B92082C00DDFD47 /* Animation Advanced.app */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		6AC7997A1B92082C00DDFD47 /* Animation Advanced */ = {
			isa = PBXGroup;
			children = (
				6AC7997B1B92082C00DDFD47 /* AppDelegate.swift */,
				6AC7997D1B92082C00DDFD47 /* MasterViewController.swift */,
				6AC7997F1B92082C00DDFD47 /* DetailViewController.swift */,
				6A4FDB031B9B63C700C4A33B /* Animations */,
				6AC799811B92082C00DDFD47 /* Main.storyboard */,
				6AC799841B92082C00DDFD47 /* Assets.xcassets */,
				6AC799861B92082C00DDFD47 /* LaunchScreen.storyboard */,
				6AC799891B92082C00DDFD47 /* Info.plist */,
			);
			path = "Animation Advanced";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		6AC799771B92082C00DDFD47 /* Animation Advanced */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 6AC7998C1B92082C00DDFD47 /* Build configuration list for PBXNativeTarget "Animation Advanced" */;
			buildPhases = (
				6AC799741B92082C00DDFD47 /* Sources */,
				6AC799751B92082C00DDFD47 /* Frameworks */,
				6AC799761B92082C00DDFD47 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "Animation Advanced";
			productName = "Animation Advanced";
			productReference = 6AC799781B92082C00DDFD47 /* Animation Advanced.app */;
			productType = "com.apple.product-type.application";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		6AC799701B92082C00DDFD47 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 0800;
				ORGANIZATIONNAME = zhowkevin;
				TargetAttributes = {
					6AC799771B92082C00DDFD47 = {
						CreatedOnToolsVersion = 7.0;
						LastSwiftMigration = 0800;
					};
				};
			};
			buildConfigurationList = 6AC799731B92082C00DDFD47 /* Build configuration list for PBXProject "Animation Advanced" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 6AC7996F1B92082C00DDFD47;
			productRefGroup = 6AC799791B92082C00DDFD47 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				6AC799771B92082C00DDFD47 /* Animation Advanced */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		6AC799761B92082C00DDFD47 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				6AC799881B92082C00DDFD47 /* LaunchScreen.storyboard in Resources */,
				6AC799851B92082C00DDFD47 /* Assets.xcassets in Resources */,
				6AC799831B92082C00DDFD47 /* Main.storyboard in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		6AC799741B92082C00DDFD47 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				6A4FDAFA1B9B5C3300C4A33B /* bezierSimple.swift in Sources */,
				6AC799801B92082C00DDFD47 /* DetailViewController.swift in Sources */,
				6A4FDB021B9B636A00C4A33B /* maskAnimation.swift in Sources */,
				6A4FDB001B9B5E3600C4A33B /* keyframe.swift in Sources */,
				6A4FDAFE1B9B5CBB00C4A33B /* bezierUIDynamic.swift in Sources */,
				6AC7997E1B92082C00DDFD47 /* MasterViewController.swift in Sources */,
				6AC7997C1B92082C00DDFD47 /* AppDelegate.swift in Sources */,
				6A4FDAFC1B9B5C8700C4A33B /* bezierAdvanced.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXVariantGroup section */
		6AC799811B92082C00DDFD47 /* Main.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				6AC799821B92082C00DDFD47 /* Base */,
			);
			name = Main.storyboard;
			sourceTree = "<group>";
		};
		6AC799861B92082C00DDFD47 /* LaunchScreen.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				6AC799871B92082C00DDFD47 /* Base */,
			);
			name = LaunchScreen.storyboard;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		6AC7998A1B92082C00DDFD47 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		6AC7998B1B92082C00DDFD47 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		6AC7998D1B92082C00DDFD47 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = "Animation Advanced/Info.plist";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "kevinzhow.Animation-Advanced";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 4.2;
			};
			name = Debug;
		};
		6AC7998E1B92082C00DDFD47 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = "Animation Advanced/Info.plist";
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "kevinzhow.Animation-Advanced";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_VERSION = 4.2;
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		6AC799731B92082C00DDFD47 /* Build configuration list for PBXProject "Animation Advanced" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				6AC7998A1B92082C00DDFD47 /* Debug */,
				6AC7998B1B92082C00DDFD47 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		6AC7998C1B92082C00DDFD47 /* Build configuration list for PBXNativeTarget "Animation Advanced" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				6AC7998D1B92082C00DDFD47 /* Debug */,
				6AC7998E1B92082C00DDFD47 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 6AC799701B92082C00DDFD47 /* Project object */;
}


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
   version = "1.0">
   <FileRef
      location = "self:Animation Advanced.xcodeproj">
   </FileRef>
</Workspace>


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>IDEDidComputeMac32BitWarning</key>
	<true/>
</dict>
</plist>


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced.xcodeproj/xcuserdata/kevinzhow.xcuserdatad/xcschemes/Animation Advanced.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "0800"
   version = "1.3">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "6AC799771B92082C00DDFD47"
               BuildableName = "Animation Advanced.app"
               BlueprintName = "Animation Advanced"
               ReferencedContainer = "container:Animation Advanced.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      shouldUseLaunchSchemeArgsEnv = "YES">
      <Testables>
      </Testables>
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "6AC799771B92082C00DDFD47"
            BuildableName = "Animation Advanced.app"
            BlueprintName = "Animation Advanced"
            ReferencedContainer = "container:Animation Advanced.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
      <AdditionalOptions>
      </AdditionalOptions>
   </TestAction>
   <LaunchAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      debugServiceExtension = "internal"
      allowLocationSimulation = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "6AC799771B92082C00DDFD47"
            BuildableName = "Animation Advanced.app"
            BlueprintName = "Animation Advanced"
            ReferencedContainer = "container:Animation Advanced.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
      <AdditionalOptions>
      </AdditionalOptions>
   </LaunchAction>
   <ProfileAction
      buildConfiguration = "Release"
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      debugDocumentVersioning = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "6AC799771B92082C00DDFD47"
            BuildableName = "Animation Advanced.app"
            BlueprintName = "Animation Advanced"
            ReferencedContainer = "container:Animation Advanced.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced.xcodeproj/xcuserdata/kevinzhow.xcuserdatad/xcschemes/xcschememanagement.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Animation Advanced.xcscheme</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
	<key>SuppressBuildableAutocreation</key>
	<dict>
		<key>6AC799771B92082C00DDFD47</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
	</dict>
</dict>
</plist>


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced.xcodeproj/xcuserdata/zhoukaiwen.xcuserdatad/xcschemes/xcschememanagement.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Animation Advanced.xcscheme_^#shared#^_</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
</dict>
</plist>


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Bucket
   type = "1"
   version = "2.0">
</Bucket>


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/Animation Advanced.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "0700"
   version = "1.3">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "6AC799771B92082C00DDFD47"
               BuildableName = "Animation Advanced.app"
               BlueprintName = "Animation Advanced"
               ReferencedContainer = "container:Animation Advanced.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      shouldUseLaunchSchemeArgsEnv = "YES">
      <Testables>
      </Testables>
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "6AC799771B92082C00DDFD47"
            BuildableName = "Animation Advanced.app"
            BlueprintName = "Animation Advanced"
            ReferencedContainer = "container:Animation Advanced.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
      <AdditionalOptions>
      </AdditionalOptions>
   </TestAction>
   <LaunchAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      debugServiceExtension = "internal"
      allowLocationSimulation = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "6AC799771B92082C00DDFD47"
            BuildableName = "Animation Advanced.app"
            BlueprintName = "Animation Advanced"
            ReferencedContainer = "container:Animation Advanced.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
      <AdditionalOptions>
      </AdditionalOptions>
   </LaunchAction>
   <ProfileAction
      buildConfiguration = "Release"
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      debugDocumentVersioning = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "6AC799771B92082C00DDFD47"
            BuildableName = "Animation Advanced.app"
            BlueprintName = "Animation Advanced"
            ReferencedContainer = "container:Animation Advanced.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>


================================================
FILE: Example Codes/Animation Advanced/Animation Advanced.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/xcschememanagement.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Animation Advanced.xcscheme</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
	<key>SuppressBuildableAutocreation</key>
	<dict>
		<key>6AC799771B92082C00DDFD47</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
	</dict>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/TextView/Meow/AppDelegate.swift
================================================
//
//  AppDelegate.swift
//  Meow
//
//  Created by kevinzhow on 15/6/10.
//  Copyright (c) 2015年 kevinzhow. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        return true
    }

    func applicationWillResignActive(_ application: UIApplication) {
        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
    }

    func applicationDidEnterBackground(_ application: UIApplication) {
        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
    }

    func applicationWillEnterForeground(_ application: UIApplication) {
        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
    }

    func applicationDidBecomeActive(_ application: UIApplication) {
        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
    }

    func applicationWillTerminate(_ application: UIApplication) {
        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    }


}



================================================
FILE: Example Codes/AutoLayout/TextView/Meow/Base.lproj/LaunchScreen.xib
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6214" systemVersion="14A314h" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6207"/>
        <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
    </dependencies>
    <objects>
        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
        <view contentMode="scaleToFill" id="iN0-l3-epB">
            <rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
            <subviews>
                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="  Copyright (c) 2015年 kevinzhow. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
                    <rect key="frame" x="20" y="439" width="441" height="21"/>
                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                    <nil key="highlightedColor"/>
                </label>
                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Meow" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
                    <rect key="frame" x="20" y="140" width="441" height="43"/>
                    <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                    <nil key="highlightedColor"/>
                </label>
            </subviews>
            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
            <constraints>
                <constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
                <constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
                <constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
                <constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
                <constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
                <constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
            </constraints>
            <nil key="simulatedStatusBarMetrics"/>
            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
            <point key="canvasLocation" x="548" y="455"/>
        </view>
    </objects>
</document>


================================================
FILE: Example Codes/AutoLayout/TextView/Meow/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
    <device id="retina4_7" orientation="portrait">
        <adaptation id="fullscreen"/>
    </device>
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <scenes>
        <!--View Controller-->
        <scene sceneID="tne-QT-ifu">
            <objects>
                <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="Meow" customModuleProvider="target" sceneMemberID="viewController">
                    <layoutGuides>
                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
                    </layoutGuides>
                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <subviews>
                            <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="K0c-Lb-ayV">
                                <rect key="frame" x="20" y="269.5" width="167.5" height="128"/>
                                <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="128" id="hxV-dL-2Vn"/>
                                </constraints>
                                <string key="text">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</string>
                                <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
                            </textView>
                            <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="6qd-mO-JM4">
                                <rect key="frame" x="187.5" y="269.5" width="167.5" height="128"/>
                                <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="128" id="eiy-Fe-nsW"/>
                                </constraints>
                                <string key="text">Lorem ipsum dolor sit er elit lamet, consectetaur cillium adipisicing pecu, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Nam liber te conscient to factor tum poen legum odioque civiuda.</string>
                                <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
                            </textView>
                        </subviews>
                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                        <constraints>
                            <constraint firstItem="K0c-Lb-ayV" firstAttribute="centerY" secondItem="8bC-Xf-vdC" secondAttribute="centerY" id="7td-6O-A6D"/>
                            <constraint firstItem="6qd-mO-JM4" firstAttribute="leading" secondItem="K0c-Lb-ayV" secondAttribute="trailing" id="Zqo-Vc-cVv"/>
                            <constraint firstItem="6qd-mO-JM4" firstAttribute="centerY" secondItem="K0c-Lb-ayV" secondAttribute="centerY" id="ecl-L9-sLL"/>
                            <constraint firstAttribute="trailing" secondItem="6qd-mO-JM4" secondAttribute="trailing" constant="20" id="pQA-CZ-hNp"/>
                            <constraint firstItem="6qd-mO-JM4" firstAttribute="width" secondItem="K0c-Lb-ayV" secondAttribute="width" id="yJb-Zb-pGK"/>
                            <constraint firstItem="K0c-Lb-ayV" firstAttribute="leading" secondItem="8bC-Xf-vdC" secondAttribute="leading" constant="20" id="yc8-Bg-ZTn"/>
                        </constraints>
                    </view>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
            </objects>
            <point key="canvasLocation" x="136.80000000000001" y="137.18140929535232"/>
        </scene>
    </scenes>
</document>


================================================
FILE: Example Codes/AutoLayout/TextView/Meow/Images.xcassets/AppIcon.appiconset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "iphone",
      "size" : "20x20",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "20x20",
      "scale" : "3x"
    },
    {
      "idiom" : "iphone",
      "size" : "29x29",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "29x29",
      "scale" : "3x"
    },
    {
      "idiom" : "iphone",
      "size" : "40x40",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "40x40",
      "scale" : "3x"
    },
    {
      "idiom" : "iphone",
      "size" : "60x60",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "60x60",
      "scale" : "3x"
    },
    {
      "idiom" : "ipad",
      "size" : "20x20",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "20x20",
      "scale" : "2x"
    },
    {
      "idiom" : "ipad",
      "size" : "29x29",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "29x29",
      "scale" : "2x"
    },
    {
      "idiom" : "ipad",
      "size" : "40x40",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "40x40",
      "scale" : "2x"
    },
    {
      "idiom" : "ipad",
      "size" : "76x76",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "76x76",
      "scale" : "2x"
    },
    {
      "idiom" : "ipad",
      "size" : "83.5x83.5",
      "scale" : "2x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/AutoLayout/TextView/Meow/Images.xcassets/cat_cart.imageset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "scale" : "2x",
      "filename" : "cat_cart.png"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/AutoLayout/TextView/Meow/Images.xcassets/cat_eyes.imageset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "scale" : "2x",
      "filename" : "cat_eyes.png"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/AutoLayout/TextView/Meow/Images.xcassets/cat_fat.imageset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "scale" : "2x",
      "filename" : "cat_fat.png"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/AutoLayout/TextView/Meow/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>en</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>1</string>
	<key>LSRequiresIPhoneOS</key>
	<true/>
	<key>UILaunchStoryboardName</key>
	<string>LaunchScreen</string>
	<key>UIMainStoryboardFile</key>
	<string>Main</string>
	<key>UIRequiredDeviceCapabilities</key>
	<array>
		<string>armv7</string>
	</array>
	<key>UISupportedInterfaceOrientations</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
	<key>UISupportedInterfaceOrientations~ipad</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationPortraitUpsideDown</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/TextView/Meow/ViewController.swift
================================================
//
//  ViewController.swift
//  Meow
//
//  Created by kevinzhow on 15/6/10.
//  Copyright (c) 2015年 kevinzhow. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}



================================================
FILE: Example Codes/AutoLayout/TextView/Meow.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		0AA102261B2866B500C0B299 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA102251B2866B500C0B299 /* AppDelegate.swift */; };
		0AA102281B2866B500C0B299 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA102271B2866B500C0B299 /* ViewController.swift */; };
		0AA1022B1B2866B500C0B299 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0AA102291B2866B500C0B299 /* Main.storyboard */; };
		0AA1022D1B2866B500C0B299 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0AA1022C1B2866B500C0B299 /* Images.xcassets */; };
		0AA102301B2866B500C0B299 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0AA1022E1B2866B500C0B299 /* LaunchScreen.xib */; };
		0AA1023C1B2866B500C0B299 /* MeowTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA1023B1B2866B500C0B299 /* MeowTests.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		0AA102361B2866B500C0B299 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0AA102181B2866B500C0B299 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 0AA1021F1B2866B500C0B299;
			remoteInfo = Meow;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		0AA102201B2866B500C0B299 /* Meow.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Meow.app; sourceTree = BUILT_PRODUCTS_DIR; };
		0AA102241B2866B500C0B299 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		0AA102251B2866B500C0B299 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
		0AA102271B2866B500C0B299 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
		0AA1022A1B2866B500C0B299 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
		0AA1022C1B2866B500C0B299 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
		0AA1022F1B2866B500C0B299 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
		0AA102351B2866B500C0B299 /* MeowTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MeowTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		0AA1023A1B2866B500C0B299 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		0AA1023B1B2866B500C0B299 /* MeowTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeowTests.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		0AA1021D1B2866B500C0B299 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		0AA102321B2866B500C0B299 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		0AA102171B2866B500C0B299 = {
			isa = PBXGroup;
			children = (
				0AA102221B2866B500C0B299 /* Meow */,
				0AA102381B2866B500C0B299 /* MeowTests */,
				0AA102211B2866B500C0B299 /* Products */,
			);
			sourceTree = "<group>";
		};
		0AA102211B2866B500C0B299 /* Products */ = {
			isa = PBXGroup;
			children = (
				0AA102201B2866B500C0B299 /* Meow.app */,
				0AA102351B2866B500C0B299 /* MeowTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		0AA102221B2866B500C0B299 /* Meow */ = {
			isa = PBXGroup;
			children = (
				0AA102251B2866B500C0B299 /* AppDelegate.swift */,
				0AA102271B2866B500C0B299 /* ViewController.swift */,
				0AA102291B2866B500C0B299 /* Main.storyboard */,
				0AA1022C1B2866B500C0B299 /* Images.xcassets */,
				0AA1022E1B2866B500C0B299 /* LaunchScreen.xib */,
				0AA102231B2866B500C0B299 /* Supporting Files */,
			);
			path = Meow;
			sourceTree = "<group>";
		};
		0AA102231B2866B500C0B299 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				0AA102241B2866B500C0B299 /* Info.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		0AA102381B2866B500C0B299 /* MeowTests */ = {
			isa = PBXGroup;
			children = (
				0AA1023B1B2866B500C0B299 /* MeowTests.swift */,
				0AA102391B2866B500C0B299 /* Supporting Files */,
			);
			path = MeowTests;
			sourceTree = "<group>";
		};
		0AA102391B2866B500C0B299 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				0AA1023A1B2866B500C0B299 /* Info.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		0AA1021F1B2866B500C0B299 /* Meow */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 0AA1023F1B2866B500C0B299 /* Build configuration list for PBXNativeTarget "Meow" */;
			buildPhases = (
				0AA1021C1B2866B500C0B299 /* Sources */,
				0AA1021D1B2866B500C0B299 /* Frameworks */,
				0AA1021E1B2866B500C0B299 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = Meow;
			productName = Meow;
			productReference = 0AA102201B2866B500C0B299 /* Meow.app */;
			productType = "com.apple.product-type.application";
		};
		0AA102341B2866B500C0B299 /* MeowTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 0AA102421B2866B500C0B299 /* Build configuration list for PBXNativeTarget "MeowTests" */;
			buildPhases = (
				0AA102311B2866B500C0B299 /* Sources */,
				0AA102321B2866B500C0B299 /* Frameworks */,
				0AA102331B2866B500C0B299 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				0AA102371B2866B500C0B299 /* PBXTargetDependency */,
			);
			name = MeowTests;
			productName = MeowTests;
			productReference = 0AA102351B2866B500C0B299 /* MeowTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		0AA102181B2866B500C0B299 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0700;
				LastUpgradeCheck = 0800;
				ORGANIZATIONNAME = kevinzhow;
				TargetAttributes = {
					0AA1021F1B2866B500C0B299 = {
						CreatedOnToolsVersion = 6.3.2;
						LastSwiftMigration = 1010;
					};
					0AA102341B2866B500C0B299 = {
						CreatedOnToolsVersion = 6.3.2;
						LastSwiftMigration = 1010;
						TestTargetID = 0AA1021F1B2866B500C0B299;
					};
				};
			};
			buildConfigurationList = 0AA1021B1B2866B500C0B299 /* Build configuration list for PBXProject "Meow" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 0AA102171B2866B500C0B299;
			productRefGroup = 0AA102211B2866B500C0B299 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				0AA1021F1B2866B500C0B299 /* Meow */,
				0AA102341B2866B500C0B299 /* MeowTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		0AA1021E1B2866B500C0B299 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0AA1022B1B2866B500C0B299 /* Main.storyboard in Resources */,
				0AA102301B2866B500C0B299 /* LaunchScreen.xib in Resources */,
				0AA1022D1B2866B500C0B299 /* Images.xcassets in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		0AA102331B2866B500C0B299 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		0AA1021C1B2866B500C0B299 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0AA102281B2866B500C0B299 /* ViewController.swift in Sources */,
				0AA102261B2866B500C0B299 /* AppDelegate.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		0AA102311B2866B500C0B299 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0AA1023C1B2866B500C0B299 /* MeowTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		0AA102371B2866B500C0B299 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 0AA1021F1B2866B500C0B299 /* Meow */;
			targetProxy = 0AA102361B2866B500C0B299 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		0AA102291B2866B500C0B299 /* Main.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				0AA1022A1B2866B500C0B299 /* Base */,
			);
			name = Main.storyboard;
			sourceTree = "<group>";
		};
		0AA1022E1B2866B500C0B299 /* LaunchScreen.xib */ = {
			isa = PBXVariantGroup;
			children = (
				0AA1022F1B2866B500C0B299 /* Base */,
			);
			name = LaunchScreen.xib;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		0AA1023D1B2866B500C0B299 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 8.3;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		0AA1023E1B2866B500C0B299 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 8.3;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		0AA102401B2866B500C0B299 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = Meow/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "kevinzhow.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.2;
			};
			name = Debug;
		};
		0AA102411B2866B500C0B299 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = Meow/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "kevinzhow.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.2;
			};
			name = Release;
		};
		0AA102431B2866B500C0B299 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUNDLE_LOADER = "$(TEST_HOST)";
				FRAMEWORK_SEARCH_PATHS = (
					"$(SDKROOT)/Developer/Library/Frameworks",
					"$(inherited)",
				);
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				INFOPLIST_FILE = MeowTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "kevinzhow.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.2;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Meow.app/Meow";
			};
			name = Debug;
		};
		0AA102441B2866B500C0B299 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUNDLE_LOADER = "$(TEST_HOST)";
				FRAMEWORK_SEARCH_PATHS = (
					"$(SDKROOT)/Developer/Library/Frameworks",
					"$(inherited)",
				);
				INFOPLIST_FILE = MeowTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_BUNDLE_IDENTIFIER = "kevinzhow.$(PRODUCT_NAME:rfc1034identifier)";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.2;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Meow.app/Meow";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		0AA1021B1B2866B500C0B299 /* Build configuration list for PBXProject "Meow" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0AA1023D1B2866B500C0B299 /* Debug */,
				0AA1023E1B2866B500C0B299 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		0AA1023F1B2866B500C0B299 /* Build configuration list for PBXNativeTarget "Meow" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0AA102401B2866B500C0B299 /* Debug */,
				0AA102411B2866B500C0B299 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		0AA102421B2866B500C0B299 /* Build configuration list for PBXNativeTarget "MeowTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0AA102431B2866B500C0B299 /* Debug */,
				0AA102441B2866B500C0B299 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 0AA102181B2866B500C0B299 /* Project object */;
}


================================================
FILE: Example Codes/AutoLayout/TextView/Meow.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
   version = "1.0">
   <FileRef
      location = "self:Meow.xcodeproj">
   </FileRef>
</Workspace>


================================================
FILE: Example Codes/AutoLayout/TextView/Meow.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>IDEDidComputeMac32BitWarning</key>
	<true/>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/TextView/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/Meow.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "0800"
   version = "1.3">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
               BuildableName = "Meow.app"
               BlueprintName = "Meow"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "NO"
            buildForArchiving = "NO"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA102341B2866B500C0B299"
               BuildableName = "MeowTests.xctest"
               BlueprintName = "MeowTests"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      shouldUseLaunchSchemeArgsEnv = "YES">
      <Testables>
         <TestableReference
            skipped = "NO">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA102341B2866B500C0B299"
               BuildableName = "MeowTests.xctest"
               BlueprintName = "MeowTests"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </TestableReference>
      </Testables>
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
      <AdditionalOptions>
      </AdditionalOptions>
   </TestAction>
   <LaunchAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      debugServiceExtension = "internal"
      allowLocationSimulation = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
      <AdditionalOptions>
      </AdditionalOptions>
   </LaunchAction>
   <ProfileAction
      buildConfiguration = "Release"
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      debugDocumentVersioning = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>


================================================
FILE: Example Codes/AutoLayout/TextView/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Meow.xcscheme</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
	<key>SuppressBuildableAutocreation</key>
	<dict>
		<key>0AA1021F1B2866B500C0B299</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
		<key>0AA102341B2866B500C0B299</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
	</dict>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/TextView/Meow.xcodeproj/xcuserdata/zhoukaiwen.xcuserdatad/xcschemes/xcschememanagement.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Meow.xcscheme_^#shared#^_</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/TextView/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/Meow.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "0700"
   version = "1.3">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
               BuildableName = "Meow.app"
               BlueprintName = "Meow"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      shouldUseLaunchSchemeArgsEnv = "YES">
      <Testables>
         <TestableReference
            skipped = "NO">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA102341B2866B500C0B299"
               BuildableName = "MeowTests.xctest"
               BlueprintName = "MeowTests"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </TestableReference>
      </Testables>
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
      <AdditionalOptions>
      </AdditionalOptions>
   </TestAction>
   <LaunchAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      debugServiceExtension = "internal"
      allowLocationSimulation = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
      <AdditionalOptions>
      </AdditionalOptions>
   </LaunchAction>
   <ProfileAction
      buildConfiguration = "Release"
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      debugDocumentVersioning = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>


================================================
FILE: Example Codes/AutoLayout/TextView/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/xcschememanagement.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Meow.xcscheme</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
	<key>SuppressBuildableAutocreation</key>
	<dict>
		<key>0AA1021F1B2866B500C0B299</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
		<key>0AA102341B2866B500C0B299</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
	</dict>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/TextView/MeowTests/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>en</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>BNDL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>1</string>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/TextView/MeowTests/MeowTests.swift
================================================
//
//  MeowTests.swift
//  MeowTests
//
//  Created by kevinzhow on 15/6/10.
//  Copyright (c) 2015年 kevinzhow. All rights reserved.
//

import UIKit
import XCTest

class MeowTests: XCTestCase {
    
    override func setUp() {
        super.setUp()
        // Put setup code here. This method is called before the invocation of each test method in the class.
    }
    
    override func tearDown() {
        // Put teardown code here. This method is called after the invocation of each test method in the class.
        super.tearDown()
    }
    
    func testExample() {
        // This is an example of a functional test case.
        XCTAssert(true, "Pass")
    }
    
    func testPerformanceExample() {
        // This is an example of a performance test case.
        self.measure() {
            // Put the code you want to measure the time of here.
        }
    }
    
}


================================================
FILE: Example Codes/AutoLayout/meow_0/Meow/AppDelegate.swift
================================================
//
//  AppDelegate.swift
//  Meow
//
//  Created by kevinzhow on 15/6/10.
//  Copyright (c) 2015年 kevinzhow. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        return true
    }

    func applicationWillResignActive(_ application: UIApplication) {
        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
    }

    func applicationDidEnterBackground(_ application: UIApplication) {
        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
    }

    func applicationWillEnterForeground(_ application: UIApplication) {
        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
    }

    func applicationDidBecomeActive(_ application: UIApplication) {
        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
    }

    func applicationWillTerminate(_ application: UIApplication) {
        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    }


}



================================================
FILE: Example Codes/AutoLayout/meow_0/Meow/Base.lproj/LaunchScreen.xib
================================================
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="6214" systemVersion="14A314h" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
    <dependencies>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="6207"/>
        <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
    </dependencies>
    <objects>
        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
        <view contentMode="scaleToFill" id="iN0-l3-epB">
            <rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
            <subviews>
                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="  Copyright (c) 2015年 kevinzhow. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
                    <rect key="frame" x="20" y="439" width="441" height="21"/>
                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                    <nil key="highlightedColor"/>
                </label>
                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Meow" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
                    <rect key="frame" x="20" y="140" width="441" height="43"/>
                    <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                    <nil key="highlightedColor"/>
                </label>
            </subviews>
            <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
            <constraints>
                <constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
                <constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
                <constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
                <constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
                <constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
                <constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
            </constraints>
            <nil key="simulatedStatusBarMetrics"/>
            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
            <point key="canvasLocation" x="548" y="455"/>
        </view>
    </objects>
</document>


================================================
FILE: Example Codes/AutoLayout/meow_0/Meow/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14460.31" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
    <device id="retina4_7" orientation="portrait">
        <adaptation id="fullscreen"/>
    </device>
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14460.20"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <scenes>
        <!--View Controller-->
        <scene sceneID="tne-QT-ifu">
            <objects>
                <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="Meow" customModuleProvider="target" sceneMemberID="viewController">
                    <layoutGuides>
                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
                    </layoutGuides>
                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                    </view>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
            </objects>
        </scene>
    </scenes>
</document>


================================================
FILE: Example Codes/AutoLayout/meow_0/Meow/Images.xcassets/AppIcon.appiconset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "iphone",
      "size" : "29x29",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "29x29",
      "scale" : "3x"
    },
    {
      "idiom" : "iphone",
      "size" : "40x40",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "40x40",
      "scale" : "3x"
    },
    {
      "idiom" : "iphone",
      "size" : "60x60",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "60x60",
      "scale" : "3x"
    },
    {
      "idiom" : "ipad",
      "size" : "29x29",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "29x29",
      "scale" : "2x"
    },
    {
      "idiom" : "ipad",
      "size" : "40x40",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "40x40",
      "scale" : "2x"
    },
    {
      "idiom" : "ipad",
      "size" : "76x76",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "76x76",
      "scale" : "2x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/AutoLayout/meow_0/Meow/Images.xcassets/cat_cart.imageset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "scale" : "2x",
      "filename" : "cat_cart.png"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/AutoLayout/meow_0/Meow/Images.xcassets/cat_eyes.imageset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "scale" : "2x",
      "filename" : "cat_eyes.png"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/AutoLayout/meow_0/Meow/Images.xcassets/cat_fat.imageset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "scale" : "2x",
      "filename" : "cat_fat.png"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/AutoLayout/meow_0/Meow/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>en</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>kevinzhow.$(PRODUCT_NAME:rfc1034identifier)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>1</string>
	<key>LSRequiresIPhoneOS</key>
	<true/>
	<key>UILaunchStoryboardName</key>
	<string>LaunchScreen</string>
	<key>UIMainStoryboardFile</key>
	<string>Main</string>
	<key>UIRequiredDeviceCapabilities</key>
	<array>
		<string>armv7</string>
	</array>
	<key>UISupportedInterfaceOrientations</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
	<key>UISupportedInterfaceOrientations~ipad</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationPortraitUpsideDown</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/meow_0/Meow/ViewController.swift
================================================
//
//  ViewController.swift
//  Meow
//
//  Created by kevinzhow on 15/6/10.
//  Copyright (c) 2015年 kevinzhow. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}



================================================
FILE: Example Codes/AutoLayout/meow_0/Meow.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		0AA102261B2866B500C0B299 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA102251B2866B500C0B299 /* AppDelegate.swift */; };
		0AA102281B2866B500C0B299 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA102271B2866B500C0B299 /* ViewController.swift */; };
		0AA1022B1B2866B500C0B299 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0AA102291B2866B500C0B299 /* Main.storyboard */; };
		0AA1022D1B2866B500C0B299 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0AA1022C1B2866B500C0B299 /* Images.xcassets */; };
		0AA102301B2866B500C0B299 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0AA1022E1B2866B500C0B299 /* LaunchScreen.xib */; };
		0AA1023C1B2866B500C0B299 /* MeowTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA1023B1B2866B500C0B299 /* MeowTests.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		0AA102361B2866B500C0B299 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0AA102181B2866B500C0B299 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 0AA1021F1B2866B500C0B299;
			remoteInfo = Meow;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		0AA102201B2866B500C0B299 /* Meow.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Meow.app; sourceTree = BUILT_PRODUCTS_DIR; };
		0AA102241B2866B500C0B299 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		0AA102251B2866B500C0B299 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
		0AA102271B2866B500C0B299 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
		0AA1022A1B2866B500C0B299 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
		0AA1022C1B2866B500C0B299 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
		0AA1022F1B2866B500C0B299 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
		0AA102351B2866B500C0B299 /* MeowTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MeowTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		0AA1023A1B2866B500C0B299 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		0AA1023B1B2866B500C0B299 /* MeowTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeowTests.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		0AA1021D1B2866B500C0B299 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		0AA102321B2866B500C0B299 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		0AA102171B2866B500C0B299 = {
			isa = PBXGroup;
			children = (
				0AA102221B2866B500C0B299 /* Meow */,
				0AA102381B2866B500C0B299 /* MeowTests */,
				0AA102211B2866B500C0B299 /* Products */,
			);
			sourceTree = "<group>";
		};
		0AA102211B2866B500C0B299 /* Products */ = {
			isa = PBXGroup;
			children = (
				0AA102201B2866B500C0B299 /* Meow.app */,
				0AA102351B2866B500C0B299 /* MeowTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		0AA102221B2866B500C0B299 /* Meow */ = {
			isa = PBXGroup;
			children = (
				0AA102251B2866B500C0B299 /* AppDelegate.swift */,
				0AA102271B2866B500C0B299 /* ViewController.swift */,
				0AA102291B2866B500C0B299 /* Main.storyboard */,
				0AA1022C1B2866B500C0B299 /* Images.xcassets */,
				0AA1022E1B2866B500C0B299 /* LaunchScreen.xib */,
				0AA102231B2866B500C0B299 /* Supporting Files */,
			);
			path = Meow;
			sourceTree = "<group>";
		};
		0AA102231B2866B500C0B299 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				0AA102241B2866B500C0B299 /* Info.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		0AA102381B2866B500C0B299 /* MeowTests */ = {
			isa = PBXGroup;
			children = (
				0AA1023B1B2866B500C0B299 /* MeowTests.swift */,
				0AA102391B2866B500C0B299 /* Supporting Files */,
			);
			path = MeowTests;
			sourceTree = "<group>";
		};
		0AA102391B2866B500C0B299 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				0AA1023A1B2866B500C0B299 /* Info.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		0AA1021F1B2866B500C0B299 /* Meow */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 0AA1023F1B2866B500C0B299 /* Build configuration list for PBXNativeTarget "Meow" */;
			buildPhases = (
				0AA1021C1B2866B500C0B299 /* Sources */,
				0AA1021D1B2866B500C0B299 /* Frameworks */,
				0AA1021E1B2866B500C0B299 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = Meow;
			productName = Meow;
			productReference = 0AA102201B2866B500C0B299 /* Meow.app */;
			productType = "com.apple.product-type.application";
		};
		0AA102341B2866B500C0B299 /* MeowTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 0AA102421B2866B500C0B299 /* Build configuration list for PBXNativeTarget "MeowTests" */;
			buildPhases = (
				0AA102311B2866B500C0B299 /* Sources */,
				0AA102321B2866B500C0B299 /* Frameworks */,
				0AA102331B2866B500C0B299 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				0AA102371B2866B500C0B299 /* PBXTargetDependency */,
			);
			name = MeowTests;
			productName = MeowTests;
			productReference = 0AA102351B2866B500C0B299 /* MeowTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		0AA102181B2866B500C0B299 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0700;
				LastUpgradeCheck = 0630;
				ORGANIZATIONNAME = kevinzhow;
				TargetAttributes = {
					0AA1021F1B2866B500C0B299 = {
						CreatedOnToolsVersion = 6.3.2;
						LastSwiftMigration = 1010;
					};
					0AA102341B2866B500C0B299 = {
						CreatedOnToolsVersion = 6.3.2;
						LastSwiftMigration = 1010;
						TestTargetID = 0AA1021F1B2866B500C0B299;
					};
				};
			};
			buildConfigurationList = 0AA1021B1B2866B500C0B299 /* Build configuration list for PBXProject "Meow" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 0AA102171B2866B500C0B299;
			productRefGroup = 0AA102211B2866B500C0B299 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				0AA1021F1B2866B500C0B299 /* Meow */,
				0AA102341B2866B500C0B299 /* MeowTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		0AA1021E1B2866B500C0B299 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0AA1022B1B2866B500C0B299 /* Main.storyboard in Resources */,
				0AA102301B2866B500C0B299 /* LaunchScreen.xib in Resources */,
				0AA1022D1B2866B500C0B299 /* Images.xcassets in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		0AA102331B2866B500C0B299 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		0AA1021C1B2866B500C0B299 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0AA102281B2866B500C0B299 /* ViewController.swift in Sources */,
				0AA102261B2866B500C0B299 /* AppDelegate.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		0AA102311B2866B500C0B299 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0AA1023C1B2866B500C0B299 /* MeowTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		0AA102371B2866B500C0B299 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 0AA1021F1B2866B500C0B299 /* Meow */;
			targetProxy = 0AA102361B2866B500C0B299 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		0AA102291B2866B500C0B299 /* Main.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				0AA1022A1B2866B500C0B299 /* Base */,
			);
			name = Main.storyboard;
			sourceTree = "<group>";
		};
		0AA1022E1B2866B500C0B299 /* LaunchScreen.xib */ = {
			isa = PBXVariantGroup;
			children = (
				0AA1022F1B2866B500C0B299 /* Base */,
			);
			name = LaunchScreen.xib;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		0AA1023D1B2866B500C0B299 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 8.3;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		0AA1023E1B2866B500C0B299 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 8.3;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		0AA102401B2866B500C0B299 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = Meow/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.2;
			};
			name = Debug;
		};
		0AA102411B2866B500C0B299 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = Meow/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.2;
			};
			name = Release;
		};
		0AA102431B2866B500C0B299 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUNDLE_LOADER = "$(TEST_HOST)";
				FRAMEWORK_SEARCH_PATHS = (
					"$(SDKROOT)/Developer/Library/Frameworks",
					"$(inherited)",
				);
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				INFOPLIST_FILE = MeowTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.2;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Meow.app/Meow";
			};
			name = Debug;
		};
		0AA102441B2866B500C0B299 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUNDLE_LOADER = "$(TEST_HOST)";
				FRAMEWORK_SEARCH_PATHS = (
					"$(SDKROOT)/Developer/Library/Frameworks",
					"$(inherited)",
				);
				INFOPLIST_FILE = MeowTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.2;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Meow.app/Meow";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		0AA1021B1B2866B500C0B299 /* Build configuration list for PBXProject "Meow" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0AA1023D1B2866B500C0B299 /* Debug */,
				0AA1023E1B2866B500C0B299 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		0AA1023F1B2866B500C0B299 /* Build configuration list for PBXNativeTarget "Meow" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0AA102401B2866B500C0B299 /* Debug */,
				0AA102411B2866B500C0B299 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		0AA102421B2866B500C0B299 /* Build configuration list for PBXNativeTarget "MeowTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0AA102431B2866B500C0B299 /* Debug */,
				0AA102441B2866B500C0B299 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 0AA102181B2866B500C0B299 /* Project object */;
}


================================================
FILE: Example Codes/AutoLayout/meow_0/Meow.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
   version = "1.0">
   <FileRef
      location = "self:Meow.xcodeproj">
   </FileRef>
</Workspace>


================================================
FILE: Example Codes/AutoLayout/meow_0/Meow.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>IDEDidComputeMac32BitWarning</key>
	<true/>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/meow_0/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/Meow.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "0630"
   version = "1.3">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
               BuildableName = "Meow.app"
               BlueprintName = "Meow"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "NO"
            buildForArchiving = "NO"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA102341B2866B500C0B299"
               BuildableName = "MeowTests.xctest"
               BlueprintName = "MeowTests"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      shouldUseLaunchSchemeArgsEnv = "YES"
      buildConfiguration = "Debug">
      <Testables>
         <TestableReference
            skipped = "NO">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA102341B2866B500C0B299"
               BuildableName = "MeowTests.xctest"
               BlueprintName = "MeowTests"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </TestableReference>
      </Testables>
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
   </TestAction>
   <LaunchAction
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      buildConfiguration = "Debug"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      allowLocationSimulation = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
      <AdditionalOptions>
      </AdditionalOptions>
   </LaunchAction>
   <ProfileAction
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      buildConfiguration = "Release"
      debugDocumentVersioning = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>


================================================
FILE: Example Codes/AutoLayout/meow_0/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Meow.xcscheme</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
	<key>SuppressBuildableAutocreation</key>
	<dict>
		<key>0AA1021F1B2866B500C0B299</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
		<key>0AA102341B2866B500C0B299</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
	</dict>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/meow_0/Meow.xcodeproj/xcuserdata/zhoukaiwen.xcuserdatad/xcschemes/xcschememanagement.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Meow.xcscheme_^#shared#^_</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/meow_0/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/Meow.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "0700"
   version = "1.3">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
               BuildableName = "Meow.app"
               BlueprintName = "Meow"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      shouldUseLaunchSchemeArgsEnv = "YES">
      <Testables>
         <TestableReference
            skipped = "NO">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA102341B2866B500C0B299"
               BuildableName = "MeowTests.xctest"
               BlueprintName = "MeowTests"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </TestableReference>
      </Testables>
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
      <AdditionalOptions>
      </AdditionalOptions>
   </TestAction>
   <LaunchAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      debugServiceExtension = "internal"
      allowLocationSimulation = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
      <AdditionalOptions>
      </AdditionalOptions>
   </LaunchAction>
   <ProfileAction
      buildConfiguration = "Release"
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      debugDocumentVersioning = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>


================================================
FILE: Example Codes/AutoLayout/meow_0/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/xcschememanagement.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Meow.xcscheme</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
	<key>SuppressBuildableAutocreation</key>
	<dict>
		<key>0AA1021F1B2866B500C0B299</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
		<key>0AA102341B2866B500C0B299</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
	</dict>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/meow_0/MeowTests/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>en</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>kevinzhow.$(PRODUCT_NAME:rfc1034identifier)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>BNDL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>1</string>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/meow_0/MeowTests/MeowTests.swift
================================================
//
//  MeowTests.swift
//  MeowTests
//
//  Created by kevinzhow on 15/6/10.
//  Copyright (c) 2015年 kevinzhow. All rights reserved.
//

import UIKit
import XCTest

class MeowTests: XCTestCase {
    
    override func setUp() {
        super.setUp()
        // Put setup code here. This method is called before the invocation of each test method in the class.
    }
    
    override func tearDown() {
        // Put teardown code here. This method is called after the invocation of each test method in the class.
        super.tearDown()
    }
    
    func testExample() {
        // This is an example of a functional test case.
        XCTAssert(true, "Pass")
    }
    
    func testPerformanceExample() {
        // This is an example of a performance test case.
        self.measure() {
            // Put the code you want to measure the time of here.
        }
    }
    
}


================================================
FILE: Example Codes/AutoLayout/meow_1/Meow/AppDelegate.swift
================================================
//
//  AppDelegate.swift
//  Meow
//
//  Created by kevinzhow on 15/6/10.
//  Copyright (c) 2015年 kevinzhow. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        return true
    }

    func applicationWillResignActive(_ application: UIApplication) {
        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
        // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
    }

    func applicationDidEnterBackground(_ application: UIApplication) {
        // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
        // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
    }

    func applicationWillEnterForeground(_ application: UIApplication) {
        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
    }

    func applicationDidBecomeActive(_ application: UIApplication) {
        // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
    }

    func applicationWillTerminate(_ application: UIApplication) {
        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    }


}



================================================
FILE: Example Codes/AutoLayout/meow_1/Meow/Base.lproj/LaunchScreen.xib
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11201" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES">
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11161"/>
        <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <objects>
        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
        <view contentMode="scaleToFill" id="iN0-l3-epB">
            <rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
            <subviews>
                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="  Copyright (c) 2015年 kevinzhow. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
                    <fontDescription key="fontDescription" type="system" pointSize="17"/>
                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                    <nil key="highlightedColor"/>
                </label>
                <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Meow" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
                    <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
                    <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
                    <nil key="highlightedColor"/>
                </label>
            </subviews>
            <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
            <constraints>
                <constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
                <constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
                <constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
                <constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
                <constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
                <constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
            </constraints>
            <nil key="simulatedStatusBarMetrics"/>
            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
            <point key="canvasLocation" x="548" y="455"/>
        </view>
    </objects>
</document>


================================================
FILE: Example Codes/AutoLayout/meow_1/Meow/Base.lproj/Main.storyboard
================================================
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11201" systemVersion="16A323" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="BYZ-38-t0r">
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11161"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <scenes>
        <!--View Controller-->
        <scene sceneID="tne-QT-ifu">
            <objects>
                <viewController id="BYZ-38-t0r" customClass="ViewController" customModule="Meow" customModuleProvider="target" sceneMemberID="viewController">
                    <layoutGuides>
                        <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/>
                        <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/>
                    </layoutGuides>
                    <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC">
                        <rect key="frame" x="0.0" y="0.0" width="414" height="736"/>
                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                        <subviews>
                            <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="cat_cart" translatesAutoresizingMaskIntoConstraints="NO" id="l11-PT-MD9"/>
                        </subviews>
                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                        <constraints>
                            <constraint firstItem="l11-PT-MD9" firstAttribute="centerY" secondItem="8bC-Xf-vdC" secondAttribute="centerY" id="7gx-MJ-usC"/>
                            <constraint firstItem="l11-PT-MD9" firstAttribute="centerX" secondItem="8bC-Xf-vdC" secondAttribute="centerX" id="skf-yT-qbR"/>
                        </constraints>
                    </view>
                </viewController>
                <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/>
            </objects>
        </scene>
    </scenes>
    <resources>
        <image name="cat_cart" width="128" height="128"/>
    </resources>
</document>


================================================
FILE: Example Codes/AutoLayout/meow_1/Meow/Images.xcassets/AppIcon.appiconset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "iphone",
      "size" : "29x29",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "29x29",
      "scale" : "3x"
    },
    {
      "idiom" : "iphone",
      "size" : "40x40",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "40x40",
      "scale" : "3x"
    },
    {
      "idiom" : "iphone",
      "size" : "60x60",
      "scale" : "2x"
    },
    {
      "idiom" : "iphone",
      "size" : "60x60",
      "scale" : "3x"
    },
    {
      "idiom" : "ipad",
      "size" : "29x29",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "29x29",
      "scale" : "2x"
    },
    {
      "idiom" : "ipad",
      "size" : "40x40",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "40x40",
      "scale" : "2x"
    },
    {
      "idiom" : "ipad",
      "size" : "76x76",
      "scale" : "1x"
    },
    {
      "idiom" : "ipad",
      "size" : "76x76",
      "scale" : "2x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/AutoLayout/meow_1/Meow/Images.xcassets/cat_cart.imageset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "scale" : "2x",
      "filename" : "cat_cart.png"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/AutoLayout/meow_1/Meow/Images.xcassets/cat_eyes.imageset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "scale" : "2x",
      "filename" : "cat_eyes.png"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/AutoLayout/meow_1/Meow/Images.xcassets/cat_fat.imageset/Contents.json
================================================
{
  "images" : [
    {
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "idiom" : "universal",
      "scale" : "2x",
      "filename" : "cat_fat.png"
    },
    {
      "idiom" : "universal",
      "scale" : "3x"
    }
  ],
  "info" : {
    "version" : 1,
    "author" : "xcode"
  }
}

================================================
FILE: Example Codes/AutoLayout/meow_1/Meow/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>en</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>kevinzhow.$(PRODUCT_NAME:rfc1034identifier)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>APPL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>1</string>
	<key>LSRequiresIPhoneOS</key>
	<true/>
	<key>UILaunchStoryboardName</key>
	<string>LaunchScreen</string>
	<key>UIMainStoryboardFile</key>
	<string>Main</string>
	<key>UIRequiredDeviceCapabilities</key>
	<array>
		<string>armv7</string>
	</array>
	<key>UISupportedInterfaceOrientations</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
	<key>UISupportedInterfaceOrientations~ipad</key>
	<array>
		<string>UIInterfaceOrientationPortrait</string>
		<string>UIInterfaceOrientationPortraitUpsideDown</string>
		<string>UIInterfaceOrientationLandscapeLeft</string>
		<string>UIInterfaceOrientationLandscapeRight</string>
	</array>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/meow_1/Meow/ViewController.swift
================================================
//
//  ViewController.swift
//  Meow
//
//  Created by kevinzhow on 15/6/10.
//  Copyright (c) 2015年 kevinzhow. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}



================================================
FILE: Example Codes/AutoLayout/meow_1/Meow.xcodeproj/project.pbxproj
================================================
// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		0AA102261B2866B500C0B299 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA102251B2866B500C0B299 /* AppDelegate.swift */; };
		0AA102281B2866B500C0B299 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA102271B2866B500C0B299 /* ViewController.swift */; };
		0AA1022B1B2866B500C0B299 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0AA102291B2866B500C0B299 /* Main.storyboard */; };
		0AA1022D1B2866B500C0B299 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0AA1022C1B2866B500C0B299 /* Images.xcassets */; };
		0AA102301B2866B500C0B299 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0AA1022E1B2866B500C0B299 /* LaunchScreen.xib */; };
		0AA1023C1B2866B500C0B299 /* MeowTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AA1023B1B2866B500C0B299 /* MeowTests.swift */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		0AA102361B2866B500C0B299 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 0AA102181B2866B500C0B299 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 0AA1021F1B2866B500C0B299;
			remoteInfo = Meow;
		};
/* End PBXContainerItemProxy section */

/* Begin PBXFileReference section */
		0AA102201B2866B500C0B299 /* Meow.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Meow.app; sourceTree = BUILT_PRODUCTS_DIR; };
		0AA102241B2866B500C0B299 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		0AA102251B2866B500C0B299 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
		0AA102271B2866B500C0B299 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
		0AA1022A1B2866B500C0B299 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
		0AA1022C1B2866B500C0B299 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
		0AA1022F1B2866B500C0B299 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = "<group>"; };
		0AA102351B2866B500C0B299 /* MeowTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = MeowTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
		0AA1023A1B2866B500C0B299 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		0AA1023B1B2866B500C0B299 /* MeowTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeowTests.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		0AA1021D1B2866B500C0B299 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		0AA102321B2866B500C0B299 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		0AA102171B2866B500C0B299 = {
			isa = PBXGroup;
			children = (
				0AA102221B2866B500C0B299 /* Meow */,
				0AA102381B2866B500C0B299 /* MeowTests */,
				0AA102211B2866B500C0B299 /* Products */,
			);
			sourceTree = "<group>";
		};
		0AA102211B2866B500C0B299 /* Products */ = {
			isa = PBXGroup;
			children = (
				0AA102201B2866B500C0B299 /* Meow.app */,
				0AA102351B2866B500C0B299 /* MeowTests.xctest */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		0AA102221B2866B500C0B299 /* Meow */ = {
			isa = PBXGroup;
			children = (
				0AA102251B2866B500C0B299 /* AppDelegate.swift */,
				0AA102271B2866B500C0B299 /* ViewController.swift */,
				0AA102291B2866B500C0B299 /* Main.storyboard */,
				0AA1022C1B2866B500C0B299 /* Images.xcassets */,
				0AA1022E1B2866B500C0B299 /* LaunchScreen.xib */,
				0AA102231B2866B500C0B299 /* Supporting Files */,
			);
			path = Meow;
			sourceTree = "<group>";
		};
		0AA102231B2866B500C0B299 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				0AA102241B2866B500C0B299 /* Info.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
		0AA102381B2866B500C0B299 /* MeowTests */ = {
			isa = PBXGroup;
			children = (
				0AA1023B1B2866B500C0B299 /* MeowTests.swift */,
				0AA102391B2866B500C0B299 /* Supporting Files */,
			);
			path = MeowTests;
			sourceTree = "<group>";
		};
		0AA102391B2866B500C0B299 /* Supporting Files */ = {
			isa = PBXGroup;
			children = (
				0AA1023A1B2866B500C0B299 /* Info.plist */,
			);
			name = "Supporting Files";
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXNativeTarget section */
		0AA1021F1B2866B500C0B299 /* Meow */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 0AA1023F1B2866B500C0B299 /* Build configuration list for PBXNativeTarget "Meow" */;
			buildPhases = (
				0AA1021C1B2866B500C0B299 /* Sources */,
				0AA1021D1B2866B500C0B299 /* Frameworks */,
				0AA1021E1B2866B500C0B299 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = Meow;
			productName = Meow;
			productReference = 0AA102201B2866B500C0B299 /* Meow.app */;
			productType = "com.apple.product-type.application";
		};
		0AA102341B2866B500C0B299 /* MeowTests */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 0AA102421B2866B500C0B299 /* Build configuration list for PBXNativeTarget "MeowTests" */;
			buildPhases = (
				0AA102311B2866B500C0B299 /* Sources */,
				0AA102321B2866B500C0B299 /* Frameworks */,
				0AA102331B2866B500C0B299 /* Resources */,
			);
			buildRules = (
			);
			dependencies = (
				0AA102371B2866B500C0B299 /* PBXTargetDependency */,
			);
			name = MeowTests;
			productName = MeowTests;
			productReference = 0AA102351B2866B500C0B299 /* MeowTests.xctest */;
			productType = "com.apple.product-type.bundle.unit-test";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		0AA102181B2866B500C0B299 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0700;
				LastUpgradeCheck = 0630;
				ORGANIZATIONNAME = kevinzhow;
				TargetAttributes = {
					0AA1021F1B2866B500C0B299 = {
						CreatedOnToolsVersion = 6.3.2;
						LastSwiftMigration = 1010;
					};
					0AA102341B2866B500C0B299 = {
						CreatedOnToolsVersion = 6.3.2;
						LastSwiftMigration = 1010;
						TestTargetID = 0AA1021F1B2866B500C0B299;
					};
				};
			};
			buildConfigurationList = 0AA1021B1B2866B500C0B299 /* Build configuration list for PBXProject "Meow" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 0AA102171B2866B500C0B299;
			productRefGroup = 0AA102211B2866B500C0B299 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				0AA1021F1B2866B500C0B299 /* Meow */,
				0AA102341B2866B500C0B299 /* MeowTests */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		0AA1021E1B2866B500C0B299 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0AA1022B1B2866B500C0B299 /* Main.storyboard in Resources */,
				0AA102301B2866B500C0B299 /* LaunchScreen.xib in Resources */,
				0AA1022D1B2866B500C0B299 /* Images.xcassets in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		0AA102331B2866B500C0B299 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		0AA1021C1B2866B500C0B299 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0AA102281B2866B500C0B299 /* ViewController.swift in Sources */,
				0AA102261B2866B500C0B299 /* AppDelegate.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		0AA102311B2866B500C0B299 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0AA1023C1B2866B500C0B299 /* MeowTests.swift in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		0AA102371B2866B500C0B299 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 0AA1021F1B2866B500C0B299 /* Meow */;
			targetProxy = 0AA102361B2866B500C0B299 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin PBXVariantGroup section */
		0AA102291B2866B500C0B299 /* Main.storyboard */ = {
			isa = PBXVariantGroup;
			children = (
				0AA1022A1B2866B500C0B299 /* Base */,
			);
			name = Main.storyboard;
			sourceTree = "<group>";
		};
		0AA1022E1B2866B500C0B299 /* LaunchScreen.xib */ = {
			isa = PBXVariantGroup;
			children = (
				0AA1022F1B2866B500C0B299 /* Base */,
			);
			name = LaunchScreen.xib;
			sourceTree = "<group>";
		};
/* End PBXVariantGroup section */

/* Begin XCBuildConfiguration section */
		0AA1023D1B2866B500C0B299 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 8.3;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = iphoneos;
				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
				TARGETED_DEVICE_FAMILY = "1,2";
			};
			name = Debug;
		};
		0AA1023E1B2866B500C0B299 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				IPHONEOS_DEPLOYMENT_TARGET = 8.3;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = iphoneos;
				TARGETED_DEVICE_FAMILY = "1,2";
				VALIDATE_PRODUCT = YES;
			};
			name = Release;
		};
		0AA102401B2866B500C0B299 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = Meow/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.2;
			};
			name = Debug;
		};
		0AA102411B2866B500C0B299 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
				INFOPLIST_FILE = Meow/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.2;
			};
			name = Release;
		};
		0AA102431B2866B500C0B299 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUNDLE_LOADER = "$(TEST_HOST)";
				FRAMEWORK_SEARCH_PATHS = (
					"$(SDKROOT)/Developer/Library/Frameworks",
					"$(inherited)",
				);
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"$(inherited)",
				);
				INFOPLIST_FILE = MeowTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.2;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Meow.app/Meow";
			};
			name = Debug;
		};
		0AA102441B2866B500C0B299 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				BUNDLE_LOADER = "$(TEST_HOST)";
				FRAMEWORK_SEARCH_PATHS = (
					"$(SDKROOT)/Developer/Library/Frameworks",
					"$(inherited)",
				);
				INFOPLIST_FILE = MeowTests/Info.plist;
				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
				PRODUCT_NAME = "$(TARGET_NAME)";
				SWIFT_SWIFT3_OBJC_INFERENCE = On;
				SWIFT_VERSION = 4.2;
				TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Meow.app/Meow";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		0AA1021B1B2866B500C0B299 /* Build configuration list for PBXProject "Meow" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0AA1023D1B2866B500C0B299 /* Debug */,
				0AA1023E1B2866B500C0B299 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		0AA1023F1B2866B500C0B299 /* Build configuration list for PBXNativeTarget "Meow" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0AA102401B2866B500C0B299 /* Debug */,
				0AA102411B2866B500C0B299 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		0AA102421B2866B500C0B299 /* Build configuration list for PBXNativeTarget "MeowTests" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				0AA102431B2866B500C0B299 /* Debug */,
				0AA102441B2866B500C0B299 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 0AA102181B2866B500C0B299 /* Project object */;
}


================================================
FILE: Example Codes/AutoLayout/meow_1/Meow.xcodeproj/project.xcworkspace/contents.xcworkspacedata
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
   version = "1.0">
   <FileRef
      location = "self:Meow.xcodeproj">
   </FileRef>
</Workspace>


================================================
FILE: Example Codes/AutoLayout/meow_1/Meow.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>IDEDidComputeMac32BitWarning</key>
	<true/>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/meow_1/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/Meow.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "0630"
   version = "1.3">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
               BuildableName = "Meow.app"
               BlueprintName = "Meow"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "NO"
            buildForArchiving = "NO"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA102341B2866B500C0B299"
               BuildableName = "MeowTests.xctest"
               BlueprintName = "MeowTests"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      shouldUseLaunchSchemeArgsEnv = "YES"
      buildConfiguration = "Debug">
      <Testables>
         <TestableReference
            skipped = "NO">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA102341B2866B500C0B299"
               BuildableName = "MeowTests.xctest"
               BlueprintName = "MeowTests"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </TestableReference>
      </Testables>
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
   </TestAction>
   <LaunchAction
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      buildConfiguration = "Debug"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      allowLocationSimulation = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
      <AdditionalOptions>
      </AdditionalOptions>
   </LaunchAction>
   <ProfileAction
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      buildConfiguration = "Release"
      debugDocumentVersioning = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>


================================================
FILE: Example Codes/AutoLayout/meow_1/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Meow.xcscheme</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
	<key>SuppressBuildableAutocreation</key>
	<dict>
		<key>0AA1021F1B2866B500C0B299</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
		<key>0AA102341B2866B500C0B299</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
	</dict>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/meow_1/Meow.xcodeproj/xcuserdata/zhoukaiwen.xcuserdatad/xcschemes/xcschememanagement.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Meow.xcscheme_^#shared#^_</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/meow_1/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/Meow.xcscheme
================================================
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
   LastUpgradeVersion = "0700"
   version = "1.3">
   <BuildAction
      parallelizeBuildables = "YES"
      buildImplicitDependencies = "YES">
      <BuildActionEntries>
         <BuildActionEntry
            buildForTesting = "YES"
            buildForRunning = "YES"
            buildForProfiling = "YES"
            buildForArchiving = "YES"
            buildForAnalyzing = "YES">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
               BuildableName = "Meow.app"
               BlueprintName = "Meow"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </BuildActionEntry>
      </BuildActionEntries>
   </BuildAction>
   <TestAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      shouldUseLaunchSchemeArgsEnv = "YES">
      <Testables>
         <TestableReference
            skipped = "NO">
            <BuildableReference
               BuildableIdentifier = "primary"
               BlueprintIdentifier = "0AA102341B2866B500C0B299"
               BuildableName = "MeowTests.xctest"
               BlueprintName = "MeowTests"
               ReferencedContainer = "container:Meow.xcodeproj">
            </BuildableReference>
         </TestableReference>
      </Testables>
      <MacroExpansion>
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </MacroExpansion>
      <AdditionalOptions>
      </AdditionalOptions>
   </TestAction>
   <LaunchAction
      buildConfiguration = "Debug"
      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
      launchStyle = "0"
      useCustomWorkingDirectory = "NO"
      ignoresPersistentStateOnLaunch = "NO"
      debugDocumentVersioning = "YES"
      debugServiceExtension = "internal"
      allowLocationSimulation = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
      <AdditionalOptions>
      </AdditionalOptions>
   </LaunchAction>
   <ProfileAction
      buildConfiguration = "Release"
      shouldUseLaunchSchemeArgsEnv = "YES"
      savedToolIdentifier = ""
      useCustomWorkingDirectory = "NO"
      debugDocumentVersioning = "YES">
      <BuildableProductRunnable
         runnableDebuggingMode = "0">
         <BuildableReference
            BuildableIdentifier = "primary"
            BlueprintIdentifier = "0AA1021F1B2866B500C0B299"
            BuildableName = "Meow.app"
            BlueprintName = "Meow"
            ReferencedContainer = "container:Meow.xcodeproj">
         </BuildableReference>
      </BuildableProductRunnable>
   </ProfileAction>
   <AnalyzeAction
      buildConfiguration = "Debug">
   </AnalyzeAction>
   <ArchiveAction
      buildConfiguration = "Release"
      revealArchiveInOrganizer = "YES">
   </ArchiveAction>
</Scheme>


================================================
FILE: Example Codes/AutoLayout/meow_1/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/xcschememanagement.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>SchemeUserState</key>
	<dict>
		<key>Meow.xcscheme</key>
		<dict>
			<key>orderHint</key>
			<integer>0</integer>
		</dict>
	</dict>
	<key>SuppressBuildableAutocreation</key>
	<dict>
		<key>0AA1021F1B2866B500C0B299</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
		<key>0AA102341B2866B500C0B299</key>
		<dict>
			<key>primary</key>
			<true/>
		</dict>
	</dict>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/meow_1/MeowTests/Info.plist
================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CFBundleDevelopmentRegion</key>
	<string>en</string>
	<key>CFBundleExecutable</key>
	<string>$(EXECUTABLE_NAME)</string>
	<key>CFBundleIdentifier</key>
	<string>kevinzhow.$(PRODUCT_NAME:rfc1034identifier)</string>
	<key>CFBundleInfoDictionaryVersion</key>
	<string>6.0</string>
	<key>CFBundleName</key>
	<string>$(PRODUCT_NAME)</string>
	<key>CFBundlePackageType</key>
	<string>BNDL</string>
	<key>CFBundleShortVersionString</key>
	<string>1.0</string>
	<key>CFBundleSignature</key>
	<string>????</string>
	<key>CFBundleVersion</key>
	<string>1</string>
</dict>
</plist>


================================================
FILE: Example Codes/AutoLayout/meow_1/MeowTests/MeowTests.swift
================================================
//
//  MeowTests.swift
//  MeowTests
//
//  Created by kevinzhow on 15/6/10.
//  Copyright (c) 2015年 kevinzhow. All rights reserved.
//

import UIKit
import XCTest

class MeowTests: XCTestCase {
    
    override func setUp() {
        super.setUp()
        // Put setup code here. This method is called before the invocation of each test method in the class.
    }
    
    override func tearDown() {
        // Put teardown code here. This method is called after the invocation of each test method in the class.
        super.tearDown()
    }
    
    func testExample() {
        // This is an example of a functional test case.
        XCTAssert(true, "Pass")
    }
    
    func testPerformanceExample() {
        // This is an example of a performance test case.
        self.measure() {
            // Put the code you want to measure the time of here.
        }
    }
    
}


================================================
FILE: Example Codes/AutoLayout/meow_2/Meow/AppDelegate.swift
================================================
//
//  AppDelegate.swift
//  Meow
//
//  Created by kevinzhow on 15/6/10.
//  Copyright (c) 2015年 kevinzhow. All rights reserved.
//

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
        // Override point for customization after application launch.
        return true
    }

    func applicationWillResignActive(_ application: UIApplication) {
        // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
        // Use this method to pause ongoing tasks, disable 
Download .txt
gitextract_g_1wn6sw/

├── .gitignore
└── Example Codes/
    ├── Animation Advanced/
    │   ├── Animation Advanced/
    │   │   ├── AppDelegate.swift
    │   │   ├── Assets.xcassets/
    │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   └── Contents.json
    │   │   │   ├── Contents.json
    │   │   │   └── leaf.imageset/
    │   │   │       └── Contents.json
    │   │   ├── Base.lproj/
    │   │   │   ├── LaunchScreen.storyboard
    │   │   │   └── Main.storyboard
    │   │   ├── DetailViewController.swift
    │   │   ├── Info.plist
    │   │   ├── MasterViewController.swift
    │   │   ├── bezierAdvanced.swift
    │   │   ├── bezierSimple.swift
    │   │   ├── bezierUIDynamic.swift
    │   │   ├── keyframe.swift
    │   │   └── maskAnimation.swift
    │   └── Animation Advanced.xcodeproj/
    │       ├── project.pbxproj
    │       ├── project.xcworkspace/
    │       │   ├── contents.xcworkspacedata
    │       │   ├── xcshareddata/
    │       │   │   └── IDEWorkspaceChecks.plist
    │       │   └── xcuserdata/
    │       │       ├── kevinzhow.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       ├── zhoukaiwen.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       └── zhowkevin.xcuserdatad/
    │       │           └── UserInterfaceState.xcuserstate
    │       └── xcuserdata/
    │           ├── kevinzhow.xcuserdatad/
    │           │   └── xcschemes/
    │           │       ├── Animation Advanced.xcscheme
    │           │       └── xcschememanagement.plist
    │           ├── zhoukaiwen.xcuserdatad/
    │           │   └── xcschemes/
    │           │       └── xcschememanagement.plist
    │           └── zhowkevin.xcuserdatad/
    │               ├── xcdebugger/
    │               │   └── Breakpoints_v2.xcbkptlist
    │               └── xcschemes/
    │                   ├── Animation Advanced.xcscheme
    │                   └── xcschememanagement.plist
    ├── AutoLayout/
    │   ├── TextView/
    │   │   ├── Meow/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.xib
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Images.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── cat_cart.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── cat_eyes.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── cat_fat.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Info.plist
    │   │   │   └── ViewController.swift
    │   │   ├── Meow.xcodeproj/
    │   │   │   ├── project.pbxproj
    │   │   │   ├── project.xcworkspace/
    │   │   │   │   ├── contents.xcworkspacedata
    │   │   │   │   ├── xcshareddata/
    │   │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   │   └── xcuserdata/
    │   │   │   │       ├── kevin.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │   │           └── UserInterfaceState.xcuserstate
    │   │   │   └── xcuserdata/
    │   │   │       ├── kevin.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── Meow.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │           └── xcschemes/
    │   │   │               ├── Meow.xcscheme
    │   │   │               └── xcschememanagement.plist
    │   │   └── MeowTests/
    │   │       ├── Info.plist
    │   │       └── MeowTests.swift
    │   ├── meow_0/
    │   │   ├── Meow/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.xib
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Images.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── cat_cart.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── cat_eyes.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── cat_fat.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Info.plist
    │   │   │   └── ViewController.swift
    │   │   ├── Meow.xcodeproj/
    │   │   │   ├── project.pbxproj
    │   │   │   ├── project.xcworkspace/
    │   │   │   │   ├── contents.xcworkspacedata
    │   │   │   │   ├── xcshareddata/
    │   │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   │   └── xcuserdata/
    │   │   │   │       ├── kevin.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │   │           └── UserInterfaceState.xcuserstate
    │   │   │   └── xcuserdata/
    │   │   │       ├── kevin.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── Meow.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │           └── xcschemes/
    │   │   │               ├── Meow.xcscheme
    │   │   │               └── xcschememanagement.plist
    │   │   └── MeowTests/
    │   │       ├── Info.plist
    │   │       └── MeowTests.swift
    │   ├── meow_1/
    │   │   ├── Meow/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.xib
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Images.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── cat_cart.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── cat_eyes.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── cat_fat.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Info.plist
    │   │   │   └── ViewController.swift
    │   │   ├── Meow.xcodeproj/
    │   │   │   ├── project.pbxproj
    │   │   │   ├── project.xcworkspace/
    │   │   │   │   ├── contents.xcworkspacedata
    │   │   │   │   ├── xcshareddata/
    │   │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   │   └── xcuserdata/
    │   │   │   │       ├── kevin.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │   │           └── UserInterfaceState.xcuserstate
    │   │   │   └── xcuserdata/
    │   │   │       ├── kevin.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── Meow.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │           └── xcschemes/
    │   │   │               ├── Meow.xcscheme
    │   │   │               └── xcschememanagement.plist
    │   │   └── MeowTests/
    │   │       ├── Info.plist
    │   │       └── MeowTests.swift
    │   └── meow_2/
    │       ├── Meow/
    │       │   ├── AppDelegate.swift
    │       │   ├── Base.lproj/
    │       │   │   ├── LaunchScreen.xib
    │       │   │   └── Main.storyboard
    │       │   ├── Images.xcassets/
    │       │   │   ├── AppIcon.appiconset/
    │       │   │   │   └── Contents.json
    │       │   │   ├── cat_cart.imageset/
    │       │   │   │   └── Contents.json
    │       │   │   ├── cat_eyes.imageset/
    │       │   │   │   └── Contents.json
    │       │   │   └── cat_fat.imageset/
    │       │   │       └── Contents.json
    │       │   ├── Info.plist
    │       │   └── ViewController.swift
    │       ├── Meow.xcodeproj/
    │       │   ├── project.pbxproj
    │       │   ├── project.xcworkspace/
    │       │   │   ├── contents.xcworkspacedata
    │       │   │   ├── xcshareddata/
    │       │   │   │   └── IDEWorkspaceChecks.plist
    │       │   │   └── xcuserdata/
    │       │   │       ├── kevin.xcuserdatad/
    │       │   │       │   └── UserInterfaceState.xcuserstate
    │       │   │       ├── zhoukaiwen.xcuserdatad/
    │       │   │       │   └── UserInterfaceState.xcuserstate
    │       │   │       └── zhowkevin.xcuserdatad/
    │       │   │           └── UserInterfaceState.xcuserstate
    │       │   └── xcuserdata/
    │       │       ├── kevin.xcuserdatad/
    │       │       │   └── xcschemes/
    │       │       │       ├── Meow.xcscheme
    │       │       │       └── xcschememanagement.plist
    │       │       ├── zhoukaiwen.xcuserdatad/
    │       │       │   └── xcschemes/
    │       │       │       └── xcschememanagement.plist
    │       │       └── zhowkevin.xcuserdatad/
    │       │           └── xcschemes/
    │       │               ├── Meow.xcscheme
    │       │               └── xcschememanagement.plist
    │       └── MeowTests/
    │           ├── Info.plist
    │           └── MeowTests.swift
    ├── Diary/
    │   ├── Diary_0/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   └── AppIcon.appiconset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── Info.plist
    │   │   │   └── ViewController.swift
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           └── kevin.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   ├── Diary.xcscheme
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_1/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   └── AppIcon.appiconset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_10/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryTemplate.html
    │   │   │   ├── DiaryViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       ├── kevinzhow.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           ├── kevinzhow.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_11/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryTemplate.html
    │   │   │   ├── DiaryViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       ├── kevinzhow.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           ├── kevinzhow.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_12/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryTemplate.html
    │   │   │   ├── DiaryViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       ├── kevinzhow.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           ├── kevinzhow.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               ├── xcdebugger/
    │   │               │   └── Breakpoints_v2.xcbkptlist
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_13/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryTemplate.html
    │   │   │   ├── DiaryViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   ├── Diary.xcodeproj/
    │   │   │   ├── project.pbxproj
    │   │   │   ├── project.xcworkspace/
    │   │   │   │   ├── contents.xcworkspacedata
    │   │   │   │   ├── xcshareddata/
    │   │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   │   └── xcuserdata/
    │   │   │   │       ├── kevin.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       ├── kevinzhow.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       └── zhoukaiwen.xcuserdatad/
    │   │   │   │           └── UserInterfaceState.xcuserstate
    │   │   │   └── xcuserdata/
    │   │   │       ├── kevin.xcuserdatad/
    │   │   │       │   ├── xcdebugger/
    │   │   │       │   │   └── Breakpoints_v2.xcbkptlist
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── Diary.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       ├── kevinzhow.xcuserdatad/
    │   │   │       │   ├── xcdebugger/
    │   │   │       │   │   └── Breakpoints_v2.xcbkptlist
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── Diary.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       └── zhoukaiwen.xcuserdatad/
    │   │   │           ├── xcdebugger/
    │   │   │           │   └── Breakpoints_v2.xcbkptlist
    │   │   │           └── xcschemes/
    │   │   │               └── xcschememanagement.plist
    │   │   ├── Diary.xcworkspace/
    │   │   │   ├── contents.xcworkspacedata
    │   │   │   ├── xcshareddata/
    │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   └── xcuserdata/
    │   │   │       └── zhoukaiwen.xcuserdatad/
    │   │   │           └── UserInterfaceState.xcuserstate
    │   │   └── Podfile
    │   ├── Diary_2/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   └── AppIcon.appiconset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_3/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   └── AppIcon.appiconset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_4/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_5/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_6/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_7/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_8/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       ├── kevinzhow.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           ├── kevinzhow.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   ├── Diary_9/
    │   │   ├── Diary/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Assets.xcassets/
    │   │   │   │   ├── AppIcon.appiconset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   ├── Contents.json
    │   │   │   │   ├── Oval.imageset/
    │   │   │   │   │   └── Contents.json
    │   │   │   │   └── Oval_pressed.imageset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.storyboard
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Diary.xcdatamodeld/
    │   │   │   │   └── Diary.xcdatamodel/
    │   │   │   │       └── contents
    │   │   │   ├── DiaryAnimator.swift
    │   │   │   ├── DiaryCell.swift
    │   │   │   ├── DiaryComposeViewController.swift
    │   │   │   ├── DiaryLabel.swift
    │   │   │   ├── DiaryLayout.swift
    │   │   │   ├── DiaryLocationHelper.swift
    │   │   │   ├── DiaryMonthCollectionViewController.swift
    │   │   │   ├── DiaryTemplate.html
    │   │   │   ├── DiaryViewController.swift
    │   │   │   ├── DiaryYearCollectionViewController.swift
    │   │   │   ├── Helper.swift
    │   │   │   ├── HomeCollectionViewController.swift
    │   │   │   ├── HomeYearCollectionViewCell.swift
    │   │   │   ├── Info.plist
    │   │   │   ├── TpldKhangXiDictTrial.otf
    │   │   │   ├── ViewController.swift
    │   │   │   └── Wyue-GutiFangsong-NC_deliverable.otf
    │   │   └── Diary.xcodeproj/
    │   │       ├── project.pbxproj
    │   │       ├── project.xcworkspace/
    │   │       │   ├── contents.xcworkspacedata
    │   │       │   ├── xcshareddata/
    │   │       │   │   └── IDEWorkspaceChecks.plist
    │   │       │   └── xcuserdata/
    │   │       │       ├── kevin.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       ├── kevinzhow.xcuserdatad/
    │   │       │       │   └── UserInterfaceState.xcuserstate
    │   │       │       └── zhoukaiwen.xcuserdatad/
    │   │       │           └── UserInterfaceState.xcuserstate
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   ├── xcdebugger/
    │   │           │   │   └── Breakpoints_v2.xcbkptlist
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           ├── kevinzhow.xcuserdatad/
    │   │           │   └── xcschemes/
    │   │           │       ├── Diary.xcscheme
    │   │           │       └── xcschememanagement.plist
    │   │           └── zhoukaiwen.xcuserdatad/
    │   │               └── xcschemes/
    │   │                   └── xcschememanagement.plist
    │   └── UILabel/
    │       ├── Label.playground/
    │       │   ├── Contents.swift
    │       │   ├── contents.xcplayground
    │       │   ├── playground.xcworkspace/
    │       │   │   ├── contents.xcworkspacedata
    │       │   │   ├── xcshareddata/
    │       │   │   │   └── IDEWorkspaceChecks.plist
    │       │   │   └── xcuserdata/
    │       │   │       ├── kevin.xcuserdatad/
    │       │   │       │   └── UserInterfaceState.xcuserstate
    │       │   │       ├── zhoukaiwen.xcuserdatad/
    │       │   │       │   └── UserInterfaceState.xcuserstate
    │       │   │       └── zhowkevin.xcuserdatad/
    │       │   │           └── UserInterfaceState.xcuserstate
    │       │   └── timeline.xctimeline
    │       └── LabelClass.playground/
    │           ├── Contents.swift
    │           ├── contents.xcplayground
    │           ├── playground.xcworkspace/
    │           │   ├── contents.xcworkspacedata
    │           │   ├── xcshareddata/
    │           │   │   └── IDEWorkspaceChecks.plist
    │           │   └── xcuserdata/
    │           │       ├── kevin.xcuserdatad/
    │           │       │   └── UserInterfaceState.xcuserstate
    │           │       ├── zhoukaiwen.xcuserdatad/
    │           │       │   └── UserInterfaceState.xcuserstate
    │           │       └── zhowkevin.xcuserdatad/
    │           │           └── UserInterfaceState.xcuserstate
    │           └── timeline.xctimeline
    ├── Framer/
    │   └── Diary.framer/
    │       ├── .gitignore
    │       ├── app.coffee
    │       ├── framer/
    │       │   ├── coffee-script.js
    │       │   ├── config.json
    │       │   ├── framer.generated.js
    │       │   ├── framer.init.js
    │       │   ├── framer.js
    │       │   ├── framer.js.map.old
    │       │   ├── framer.js.old
    │       │   ├── framer.modules.js
    │       │   ├── mirror.css
    │       │   ├── style.css
    │       │   └── version
    │       ├── imported/
    │       │   └── Diary/
    │       │       ├── layers.json
    │       │       └── layers.json.js
    │       ├── index.html
    │       └── modules/
    │           └── myModule.coffee
    ├── Simple iOS App/
    │   ├── SimpleHello_0/
    │   │   ├── SimpleHello/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.xib
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Images.xcassets/
    │   │   │   │   └── AppIcon.appiconset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Info.plist
    │   │   │   └── ViewController.swift
    │   │   ├── SimpleHello.xcodeproj/
    │   │   │   ├── project.pbxproj
    │   │   │   ├── project.xcworkspace/
    │   │   │   │   ├── contents.xcworkspacedata
    │   │   │   │   ├── xcshareddata/
    │   │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   │   └── xcuserdata/
    │   │   │   │       ├── kevin.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │   │           └── UserInterfaceState.xcuserstate
    │   │   │   └── xcuserdata/
    │   │   │       ├── kevin.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── SimpleHello.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │           └── xcschemes/
    │   │   │               ├── SimpleHello.xcscheme
    │   │   │               └── xcschememanagement.plist
    │   │   └── SimpleHelloTests/
    │   │       ├── Info.plist
    │   │       └── SimpleHelloTests.swift
    │   ├── SimpleHello_1/
    │   │   ├── SimpleHello/
    │   │   │   ├── AppDelegate.swift
    │   │   │   ├── Base.lproj/
    │   │   │   │   ├── LaunchScreen.xib
    │   │   │   │   └── Main.storyboard
    │   │   │   ├── Images.xcassets/
    │   │   │   │   └── AppIcon.appiconset/
    │   │   │   │       └── Contents.json
    │   │   │   ├── Info.plist
    │   │   │   └── ViewController.swift
    │   │   ├── SimpleHello.xcodeproj/
    │   │   │   ├── project.pbxproj
    │   │   │   ├── project.xcworkspace/
    │   │   │   │   ├── contents.xcworkspacedata
    │   │   │   │   ├── xcshareddata/
    │   │   │   │   │   └── IDEWorkspaceChecks.plist
    │   │   │   │   └── xcuserdata/
    │   │   │   │       ├── kevin.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │   │       │   └── UserInterfaceState.xcuserstate
    │   │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │   │           └── UserInterfaceState.xcuserstate
    │   │   │   └── xcuserdata/
    │   │   │       ├── kevin.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       ├── SimpleHello.xcscheme
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       ├── zhoukaiwen.xcuserdatad/
    │   │   │       │   └── xcschemes/
    │   │   │       │       └── xcschememanagement.plist
    │   │   │       └── zhowkevin.xcuserdatad/
    │   │   │           └── xcschemes/
    │   │   │               ├── SimpleHello.xcscheme
    │   │   │               └── xcschememanagement.plist
    │   │   └── SimpleHelloTests/
    │   │       ├── Info.plist
    │   │       └── SimpleHelloTests.swift
    │   └── SimpleHello_final/
    │       ├── SimpleHello/
    │       │   ├── AppDelegate.swift
    │       │   ├── Base.lproj/
    │       │   │   ├── LaunchScreen.xib
    │       │   │   └── Main.storyboard
    │       │   ├── Images.xcassets/
    │       │   │   └── AppIcon.appiconset/
    │       │   │       └── Contents.json
    │       │   ├── Info.plist
    │       │   └── ViewController.swift
    │       ├── SimpleHello.xcodeproj/
    │       │   ├── project.pbxproj
    │       │   ├── project.xcworkspace/
    │       │   │   ├── contents.xcworkspacedata
    │       │   │   ├── xcshareddata/
    │       │   │   │   └── IDEWorkspaceChecks.plist
    │       │   │   └── xcuserdata/
    │       │   │       ├── kevin.xcuserdatad/
    │       │   │       │   └── UserInterfaceState.xcuserstate
    │       │   │       ├── zhoukaiwen.xcuserdatad/
    │       │   │       │   └── UserInterfaceState.xcuserstate
    │       │   │       └── zhowkevin.xcuserdatad/
    │       │   │           └── UserInterfaceState.xcuserstate
    │       │   └── xcuserdata/
    │       │       ├── kevin.xcuserdatad/
    │       │       │   └── xcschemes/
    │       │       │       ├── SimpleHello.xcscheme
    │       │       │       └── xcschememanagement.plist
    │       │       ├── zhoukaiwen.xcuserdatad/
    │       │       │   └── xcschemes/
    │       │       │       └── xcschememanagement.plist
    │       │       └── zhowkevin.xcuserdatad/
    │       │           └── xcschemes/
    │       │               ├── SimpleHello.xcscheme
    │       │               └── xcschememanagement.plist
    │       └── SimpleHelloTests/
    │           ├── Info.plist
    │           └── SimpleHelloTests.swift
    ├── Sketch/
    │   ├── Diary.sketch
    │   └── Wunderlist_refine.sketch
    ├── Swift/
    │   ├── SwiftPlayground_1.playground/
    │   │   ├── Contents.swift
    │   │   ├── contents.xcplayground
    │   │   └── playground.xcworkspace/
    │   │       ├── contents.xcworkspacedata
    │   │       ├── xcshareddata/
    │   │       │   └── IDEWorkspaceChecks.plist
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── UserInterfaceState.xcuserstate
    │   │           ├── zhoukaiwen.xcuserdatad/
    │   │           │   └── UserInterfaceState.xcuserstate
    │   │           └── zhowkevin.xcuserdatad/
    │   │               └── UserInterfaceState.xcuserstate
    │   ├── SwiftPlayground_2.playground/
    │   │   ├── Contents.swift
    │   │   ├── contents.xcplayground
    │   │   └── playground.xcworkspace/
    │   │       ├── contents.xcworkspacedata
    │   │       ├── xcshareddata/
    │   │       │   └── IDEWorkspaceChecks.plist
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── UserInterfaceState.xcuserstate
    │   │           ├── zhoukaiwen.xcuserdatad/
    │   │           │   └── UserInterfaceState.xcuserstate
    │   │           └── zhowkevin.xcuserdatad/
    │   │               └── UserInterfaceState.xcuserstate
    │   ├── SwiftPlayground_enum.playground/
    │   │   ├── Contents.swift
    │   │   ├── contents.xcplayground
    │   │   └── playground.xcworkspace/
    │   │       ├── contents.xcworkspacedata
    │   │       ├── xcshareddata/
    │   │       │   └── IDEWorkspaceChecks.plist
    │   │       └── xcuserdata/
    │   │           ├── kevin.xcuserdatad/
    │   │           │   └── UserInterfaceState.xcuserstate
    │   │           ├── zhoukaiwen.xcuserdatad/
    │   │           │   └── UserInterfaceState.xcuserstate
    │   │           └── zhowkevin.xcuserdatad/
    │   │               └── UserInterfaceState.xcuserstate
    │   └── SwiftPlayground_protocol.playground/
    │       ├── Contents.swift
    │       ├── contents.xcplayground
    │       ├── playground.xcworkspace/
    │       │   ├── contents.xcworkspacedata
    │       │   ├── xcshareddata/
    │       │   │   └── IDEWorkspaceChecks.plist
    │       │   └── xcuserdata/
    │       │       ├── kevin.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       ├── zhoukaiwen.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       └── zhowkevin.xcuserdatad/
    │       │           └── UserInterfaceState.xcuserstate
    │       └── timeline.xctimeline
    ├── What is iOS App/
    │   ├── What is iOS App/
    │   │   ├── AppDelegate.swift
    │   │   ├── Assets.xcassets/
    │   │   │   └── AppIcon.appiconset/
    │   │   │       └── Contents.json
    │   │   ├── Base.lproj/
    │   │   │   ├── LaunchScreen.storyboard
    │   │   │   └── Main.storyboard
    │   │   ├── Info.plist
    │   │   └── ViewController.swift
    │   └── What is iOS App.xcodeproj/
    │       ├── project.pbxproj
    │       ├── project.xcworkspace/
    │       │   ├── contents.xcworkspacedata
    │       │   ├── xcshareddata/
    │       │   │   └── IDEWorkspaceChecks.plist
    │       │   └── xcuserdata/
    │       │       ├── kevin.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       ├── kevinzhow.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       ├── zhoukaiwen.xcuserdatad/
    │       │       │   └── UserInterfaceState.xcuserstate
    │       │       └── zhowkevin.xcuserdatad/
    │       │           └── UserInterfaceState.xcuserstate
    │       └── xcuserdata/
    │           ├── kevin.xcuserdatad/
    │           │   └── xcschemes/
    │           │       ├── What is iOS App.xcscheme
    │           │       └── xcschememanagement.plist
    │           ├── kevinzhow.xcuserdatad/
    │           │   └── xcschemes/
    │           │       ├── What is iOS App.xcscheme
    │           │       └── xcschememanagement.plist
    │           ├── zhoukaiwen.xcuserdatad/
    │           │   └── xcschemes/
    │           │       └── xcschememanagement.plist
    │           └── zhowkevin.xcuserdatad/
    │               └── xcschemes/
    │                   ├── What is iOS App.xcscheme
    │                   └── xcschememanagement.plist
    └── iOS Animation/
        ├── iOS Animation/
        │   ├── AppDelegate.swift
        │   ├── Assets.xcassets/
        │   │   └── AppIcon.appiconset/
        │   │       └── Contents.json
        │   ├── Base.lproj/
        │   │   ├── LaunchScreen.storyboard
        │   │   └── Main.storyboard
        │   ├── DetailViewController.swift
        │   ├── Info.plist
        │   └── MasterViewController.swift
        └── iOS Animation.xcodeproj/
            ├── project.pbxproj
            ├── project.xcworkspace/
            │   ├── contents.xcworkspacedata
            │   ├── xcshareddata/
            │   │   └── IDEWorkspaceChecks.plist
            │   └── xcuserdata/
            │       ├── kevin.xcuserdatad/
            │       │   └── UserInterfaceState.xcuserstate
            │       ├── zhoukaiwen.xcuserdatad/
            │       │   └── UserInterfaceState.xcuserstate
            │       └── zhowkevin.xcuserdatad/
            │           └── UserInterfaceState.xcuserstate
            └── xcuserdata/
                ├── kevin.xcuserdatad/
                │   └── xcschemes/
                │       ├── iOS Animation.xcscheme
                │       └── xcschememanagement.plist
                ├── zhoukaiwen.xcuserdatad/
                │   └── xcschemes/
                │       └── xcschememanagement.plist
                └── zhowkevin.xcuserdatad/
                    └── xcschemes/
                        ├── iOS Animation.xcscheme
                        └── xcschememanagement.plist
Download .txt
SYMBOL INDEX (149 symbols across 5 files)

FILE: Example Codes/Framer/Diary.framer/framer/coffee-script.js
  function require (line 8) | function require(e){return require[e]}
  function e (line 8) | function e(){}
  function e (line 8) | function e(){}
  function e (line 8) | function e(){this.yy={}}
  function t (line 10) | function t(){var e;return e=f.lex()||p,"number"!=typeof e&&(e=n.symbols_...
  function e (line 10) | function e(e,t,n,i){var r,s;this.parent=e,this.expressions=t,this.method...
  function n (line 10) | function n(){this.constructor=e}
  function e (line 10) | function e(e,t){var n;this.code=""+t,this.locationData=null!=e?e.locatio...
  function e (line 10) | function e(){}
  function t (line 10) | function t(e){this.expressions=et(rt(e||[]))}
  function t (line 10) | function t(e){this.value=e}
  function t (line 10) | function t(){return t.__super__.constructor.apply(this,arguments)}
  function t (line 10) | function t(){return t.__super__.constructor.apply(this,arguments)}
  function t (line 10) | function t(e){this.val=e}
  function t (line 10) | function t(e){this.expression=e}
  function t (line 10) | function t(e,n,i){return!n&&e instanceof t?e:(this.base=e,this.propertie...
  function t (line 10) | function t(e){this.comment=e}
  function n (line 10) | function n(e,t,n){this.args=null!=t?t:[],this.soak=n,this.isNew=!1,this....
  function t (line 10) | function t(e,t){this.child=e,this.parent=t}
  function t (line 10) | function t(e,t){this.name=e,this.name.asKey=!0,this.soak="soak"===t}
  function t (line 10) | function t(e){this.index=e}
  function t (line 10) | function t(e,t,n){this.from=e,this.to=t,this.exclusive="exclusive"===n,t...
  function t (line 10) | function t(e){this.range=e,t.__super__.constructor.call(this)}
  function n (line 10) | function n(e,t){this.generated=null!=t?t:!1,this.objects=this.properties...
  function t (line 10) | function t(e){this.objects=e||[]}
  function n (line 10) | function n(e,t,n){this.variable=e,this.parent=t,this.body=null!=n?n:new ...
  function n (line 10) | function n(e,t,n,i){var r,s,o;this.variable=e,this.value=t,this.context=...
  function t (line 11) | function t(e,t,n){this.params=e||[],this.body=t||new s,this.bound="bound...
  function t (line 11) | function t(e,t,n){var i,r;this.name=e,this.value=t,this.splat=n,r=i=this...
  function t (line 11) | function t(e){this.name=e.compile?e:new x(e)}
  function t (line 11) | function t(){return t.__super__.constructor.apply(this,arguments)}
  function t (line 11) | function t(e,t){this.condition=(null!=t?t.invert:void 0)?e.invert():e,th...
  function n (line 11) | function n(e,t,n,i){if("in"===e)return new k(t,n);if("do"===e)return thi...
  function t (line 11) | function t(e,t){this.object=e,this.array=t}
  function t (line 11) | function t(e,t,n,i){this.attempt=e,this.errorVariable=t,this.recovery=n,...
  function t (line 11) | function t(e){this.expression=e}
  function t (line 11) | function t(e){this.expression=e}
  function t (line 11) | function t(e){this.body=e}
  function t (line 11) | function t(e,t){var n;this.source=t.source,this.guard=t.guard,this.step=...
  function t (line 11) | function t(e,t,n){this.subject=e,this.cases=t,this.otherwise=n}
  function t (line 11) | function t(e,t,n){this.body=t,null==n&&(n={}),this.condition="unless"===...
  function e (line 11) | function e(e){this.line=e,this.columns=[]}
  function t (line 11) | function t(){this.lines=[]}

FILE: Example Codes/Framer/Diary.framer/framer/framer.generated.js
  function s (line 508) | function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&re...
  function EE (line 519) | function EE(fn, context, once) {
  function EventEmitter (line 532) | function EventEmitter() { /* Nothing to set */ }
  function ctor (line 742) | function ctor() { this.constructor = child; }
  function Bridge (line 750) | function Bridge() {
  function ContextListener (line 828) | function ContextListener(context) {
  function HighlightComponent (line 891) | function HighlightComponent() {
  function ctor (line 990) | function ctor() { this.constructor = child; }
  function Runtime (line 1009) | function Runtime() {

FILE: Example Codes/Framer/Diary.framer/framer/framer.init.js
  function isFileLoadingAllowed (line 3) | function isFileLoadingAllowed() {
  function isHomeScreened (line 7) | function isHomeScreened() {
  function isCompatibleBrowser (line 11) | function isCompatibleBrowser() {
  function dismissAlert (line 17) | function dismissAlert() {
  function showAlert (line 22) | function showAlert(html) {
  function showBrowserAlert (line 36) | function showBrowserAlert() {
  function showFileLoadingAlert (line 47) | function showFileLoadingAlert() {
  function showHomeScreenAlert (line 59) | function showHomeScreenAlert() {
  function loadProject (line 82) | function loadProject() {
  function setDefaultPageTitle (line 86) | function setDefaultPageTitle() {
  function init (line 100) | function init() {

FILE: Example Codes/Framer/Diary.framer/framer/framer.js
  function __webpack_require__ (line 6) | function __webpack_require__(moduleId) {
  function ctor (line 1241) | function ctor() { this.constructor = child; }
  function Layer (line 1315) | function Layer(options) {
  function ctor (line 2382) | function ctor() { this.constructor = child; }
  function BackgroundLayer (line 2392) | function BackgroundLayer(options) {
  function ctor (line 2441) | function ctor() { this.constructor = child; }
  function VideoLayer (line 2449) | function VideoLayer(options) {
  function ctor (line 2554) | function ctor() { this.constructor = child; }
  function Animation (line 2609) | function Animation(options) {
  function ctor (line 2872) | function ctor() { this.constructor = child; }
  function AnimationGroup (line 2882) | function AnimationGroup(animations) {
  function ctor (line 2933) | function ctor() { this.constructor = child; }
  function ScreenClass (line 2941) | function ScreenClass() {
  function ctor (line 2990) | function ctor() { this.constructor = child; }
  function CanvasClass (line 3000) | function CanvasClass() {
  function ctor (line 3127) | function ctor() { this.constructor = child; }
  function ScrollComponent (line 3209) | function ScrollComponent(options) {
  function ctor (line 3711) | function ctor() { this.constructor = child; }
  function PageComponent (line 3734) | function PageComponent() {
  function ctor (line 3972) | function ctor() { this.constructor = child; }
  function SliderComponent (line 3986) | function SliderComponent(options) {
  function ctor (line 4156) | function ctor() { this.constructor = child; }
  function DeviceComponent (line 4215) | function DeviceComponent(options) {
  function ctor (line 5040) | function ctor() { this.constructor = child; }
  function Context (line 5059) | function Context(options) {
  function ctor (line 5234) | function ctor() { this.constructor = child; }
  function BaseClass (line 5395) | function BaseClass(options) {
  function ctor (line 5580) | function ctor() { this.constructor = child; }
  function AnimationLoop (line 5598) | function AnimationLoop() {
  function ctor (line 5650) | function ctor() { this.constructor = child; }
  function LinearAnimator (line 5660) | function LinearAnimator() {
  function ctor (line 5694) | function ctor() { this.constructor = child; }
  function BezierCurveAnimator (line 5714) | function BezierCurveAnimator() {
  function UnitBezier (line 5762) | function UnitBezier(p1x, p1y, p2x, p2y) {
  function ctor (line 5838) | function ctor() { this.constructor = child; }
  function SpringDHOAnimator (line 5848) | function SpringDHOAnimator() {
  function ctor (line 5898) | function ctor() { this.constructor = child; }
  function SpringRK4Animator (line 5910) | function SpringRK4Animator() {
  function ctor (line 5971) | function ctor() { this.constructor = child; }
  function LayerDraggable (line 6116) | function LayerDraggable(layer) {
  function Importer (line 6623) | function Importer(path1, extraLayerProperties) {
  function ctor (line 6992) | function ctor() { this.constructor = child; }
  function LayerStates (line 7014) | function LayerStates(layer) {
  function EventManagerElement (line 7206) | function EventManagerElement(element1) {
  function EventManager (line 7264) | function EventManager(element) {
  function Animator (line 7307) | function Animator(options) {
  function Integrator (line 7343) | function Integrator(_accelerationForState) {
  function ctor (line 7396) | function ctor() { this.constructor = child; }
  function Simulation (line 7433) | function Simulation(options) {
  function ctor (line 7545) | function ctor() { this.constructor = child; }
  function EventBuffer (line 7563) | function EventBuffer(options) {
  function ctor (line 7676) | function ctor() { this.constructor = child; }
  function MobileScrollFixLayer (line 7705) | function MobileScrollFixLayer(options) {
  function baseCompareAscending (line 8056) | function baseCompareAscending(value, other) {
  function baseFindIndex (line 8081) | function baseFindIndex(array, predicate, fromRight) {
  function baseIndexOf (line 8102) | function baseIndexOf(array, value, fromIndex) {
  function baseIsFunction (line 8125) | function baseIsFunction(value) {
  function baseToString (line 8139) | function baseToString(value) {
  function charAtCallback (line 8153) | function charAtCallback(string) {
  function charsLeftIndex (line 8166) | function charsLeftIndex(string, chars) {
  function charsRightIndex (line 8183) | function charsRightIndex(string, chars) {
  function compareAscending (line 8199) | function compareAscending(object, other) {
  function compareMultiple (line 8217) | function compareMultiple(object, other, orders) {
  function deburrLetter (line 8250) | function deburrLetter(letter) {
  function escapeHtmlChar (line 8261) | function escapeHtmlChar(chr) {
  function escapeStringChar (line 8273) | function escapeStringChar(chr) {
  function indexOfNaN (line 8286) | function indexOfNaN(array, fromIndex, fromRight) {
  function isObjectLike (line 8306) | function isObjectLike(value) {
  function isSpace (line 8318) | function isSpace(charCode) {
  function replaceHolders (line 8332) | function replaceHolders(array, placeholder) {
  function sortedUniq (line 8356) | function sortedUniq(array, iteratee) {
  function trimmedLeftIndex (line 8383) | function trimmedLeftIndex(string) {
  function trimmedRightIndex (line 8399) | function trimmedRightIndex(string) {
  function unescapeHtmlChar (line 8413) | function unescapeHtmlChar(chr) {
  function runInContext (line 8452) | function runInContext(context) {
  function EE (line 19984) | function EE(fn, context, once) {
  function EventEmitter (line 19997) | function EventEmitter() { /* Nothing to set */ }
  function ctor (line 20211) | function ctor() { this.constructor = child; }
  function SpringSimulator (line 20225) | function SpringSimulator() {
  function ctor (line 20286) | function ctor() { this.constructor = child; }
  function FrictionSimulator (line 20300) | function FrictionSimulator() {
  function ctor (line 20342) | function ctor() { this.constructor = child; }
  function MomentumBounceSimulator (line 20358) | function MomentumBounceSimulator() {
  function ctor (line 20481) | function ctor() { this.constructor = child; }
  function Simulator (line 20505) | function Simulator(options) {

FILE: Example Codes/Framer/Diary.framer/framer/framer.modules.js
  function s (line 1) | function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&re...
Condensed preview — 692 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,109K chars).
[
  {
    "path": ".gitignore",
    "chars": 15,
    "preview": "Pods\n.DS_Store\n"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/AppDelegate.swift",
    "chars": 3328,
    "preview": "//\n//  AppDelegate.swift\n//  Animation Advanced\n//\n//  Created by zhowkevin on 15/8/29.\n//  Copyright © 2015年 zhowkevin."
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 1077,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\""
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/Assets.xcassets/Contents.json",
    "chars": 62,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/Assets.xcassets/leaf.imageset/Contents.json",
    "chars": 307,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/Base.lproj/LaunchScreen.storyboard",
    "chars": 1664,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/Base.lproj/Main.storyboard",
    "chars": 10050,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/DetailViewController.swift",
    "chars": 2072,
    "preview": "//\n//  DetailViewController.swift\n//  Animation Advanced\n//\n//  Created by zhowkevin on 15/8/29.\n//  Copyright © 2015年 z"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/Info.plist",
    "chars": 1694,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/MasterViewController.swift",
    "chars": 3294,
    "preview": "//\n//  MasterViewController.swift\n//  Animation Advanced\n//\n//  Created by zhowkevin on 15/8/29.\n//  Copyright © 2015年 z"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/bezierAdvanced.swift",
    "chars": 3344,
    "preview": "//\n//  bezierAdvanced.swift\n//  Animation Advanced\n//\n//  Created by zhowkevin on 15/9/6.\n//  Copyright © 2015年 zhowkevi"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/bezierSimple.swift",
    "chars": 2255,
    "preview": "//\n//  bezierSimple.swift\n//  Animation Advanced\n//\n//  Created by zhowkevin on 15/9/6.\n//  Copyright © 2015年 zhowkevin."
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/bezierUIDynamic.swift",
    "chars": 3953,
    "preview": "//\n//  bezierUIDynamic.swift\n//  Animation Advanced\n//\n//  Created by zhowkevin on 15/9/6.\n//  Copyright © 2015年 zhowkev"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/keyframe.swift",
    "chars": 1957,
    "preview": "//\n//  keyframe.swift\n//  Animation Advanced\n//\n//  Created by zhowkevin on 15/9/6.\n//  Copyright © 2015年 zhowkevin. All"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced/maskAnimation.swift",
    "chars": 3442,
    "preview": "//\n//  maskAnimation.swift\n//  Animation Advanced\n//\n//  Created by zhowkevin on 15/9/6.\n//  Copyright © 2015年 zhowkevin"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced.xcodeproj/project.pbxproj",
    "chars": 14204,
    "preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "chars": 163,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Animation Advan"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "chars": 238,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced.xcodeproj/xcuserdata/kevinzhow.xcuserdatad/xcschemes/Animation Advanced.xcscheme",
    "chars": 3435,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0800\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced.xcodeproj/xcuserdata/kevinzhow.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 490,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced.xcodeproj/xcuserdata/zhoukaiwen.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 353,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist",
    "chars": 91,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Bucket\n   type = \"1\"\n   version = \"2.0\">\n</Bucket>\n"
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/Animation Advanced.xcscheme",
    "chars": 3435,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0700\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/Animation Advanced/Animation Advanced.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 490,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow/AppDelegate.swift",
    "chars": 2165,
    "preview": "//\n//  AppDelegate.swift\n//  Meow\n//\n//  Created by kevinzhow on 15/6/10.\n//  Copyright (c) 2015年 kevinzhow. All rights "
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow/Base.lproj/LaunchScreen.xib",
    "chars": 3699,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" versi"
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow/Base.lproj/Main.storyboard",
    "chars": 5972,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow/Images.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 1495,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\""
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow/Images.xcassets/cat_cart.imageset/Contents.json",
    "chars": 305,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow/Images.xcassets/cat_eyes.imageset/Contents.json",
    "chars": 305,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow/Images.xcassets/cat_fat.imageset/Contents.json",
    "chars": 304,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow/Info.plist",
    "chars": 1495,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow/ViewController.swift",
    "chars": 499,
    "preview": "//\n//  ViewController.swift\n//  Meow\n//\n//  Created by kevinzhow on 15/6/10.\n//  Copyright (c) 2015年 kevinzhow. All righ"
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow.xcodeproj/project.pbxproj",
    "chars": 16247,
    "preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "chars": 149,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Meow.xcodeproj\""
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "chars": 238,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/Meow.xcscheme",
    "chars": 4264,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0800\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 566,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow.xcodeproj/xcuserdata/zhoukaiwen.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 339,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/Meow.xcscheme",
    "chars": 3688,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0700\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/AutoLayout/TextView/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 566,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/TextView/MeowTests/Info.plist",
    "chars": 733,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/TextView/MeowTests/MeowTests.swift",
    "chars": 883,
    "preview": "//\n//  MeowTests.swift\n//  MeowTests\n//\n//  Created by kevinzhow on 15/6/10.\n//  Copyright (c) 2015年 kevinzhow. All righ"
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow/AppDelegate.swift",
    "chars": 2165,
    "preview": "//\n//  AppDelegate.swift\n//  Meow\n//\n//  Created by kevinzhow on 15/6/10.\n//  Copyright (c) 2015年 kevinzhow. All rights "
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow/Base.lproj/LaunchScreen.xib",
    "chars": 3699,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" versi"
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow/Base.lproj/Main.storyboard",
    "chars": 1825,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow/Images.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 1077,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\""
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow/Images.xcassets/cat_cart.imageset/Contents.json",
    "chars": 305,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow/Images.xcassets/cat_eyes.imageset/Contents.json",
    "chars": 305,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow/Images.xcassets/cat_fat.imageset/Contents.json",
    "chars": 304,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow/Info.plist",
    "chars": 1510,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow/ViewController.swift",
    "chars": 499,
    "preview": "//\n//  ViewController.swift\n//  Meow\n//\n//  Created by kevinzhow on 15/6/10.\n//  Copyright (c) 2015年 kevinzhow. All righ"
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow.xcodeproj/project.pbxproj",
    "chars": 15695,
    "preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "chars": 149,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Meow.xcodeproj\""
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "chars": 238,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/Meow.xcscheme",
    "chars": 4170,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0630\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 566,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow.xcodeproj/xcuserdata/zhoukaiwen.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 339,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/Meow.xcscheme",
    "chars": 3688,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0700\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 566,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/MeowTests/Info.plist",
    "chars": 748,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_0/MeowTests/MeowTests.swift",
    "chars": 883,
    "preview": "//\n//  MeowTests.swift\n//  MeowTests\n//\n//  Created by kevinzhow on 15/6/10.\n//  Copyright (c) 2015年 kevinzhow. All righ"
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow/AppDelegate.swift",
    "chars": 2165,
    "preview": "//\n//  AppDelegate.swift\n//  Meow\n//\n//  Created by kevinzhow on 15/6/10.\n//  Copyright (c) 2015年 kevinzhow. All rights "
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow/Base.lproj/LaunchScreen.xib",
    "chars": 3679,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow/Base.lproj/Main.storyboard",
    "chars": 2527,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow/Images.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 1077,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\""
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow/Images.xcassets/cat_cart.imageset/Contents.json",
    "chars": 305,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow/Images.xcassets/cat_eyes.imageset/Contents.json",
    "chars": 305,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow/Images.xcassets/cat_fat.imageset/Contents.json",
    "chars": 304,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow/Info.plist",
    "chars": 1510,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow/ViewController.swift",
    "chars": 499,
    "preview": "//\n//  ViewController.swift\n//  Meow\n//\n//  Created by kevinzhow on 15/6/10.\n//  Copyright (c) 2015年 kevinzhow. All righ"
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow.xcodeproj/project.pbxproj",
    "chars": 15695,
    "preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "chars": 149,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Meow.xcodeproj\""
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "chars": 238,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/Meow.xcscheme",
    "chars": 4170,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0630\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 566,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow.xcodeproj/xcuserdata/zhoukaiwen.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 339,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/Meow.xcscheme",
    "chars": 3688,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0700\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 566,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/MeowTests/Info.plist",
    "chars": 748,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_1/MeowTests/MeowTests.swift",
    "chars": 883,
    "preview": "//\n//  MeowTests.swift\n//  MeowTests\n//\n//  Created by kevinzhow on 15/6/10.\n//  Copyright (c) 2015年 kevinzhow. All righ"
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow/AppDelegate.swift",
    "chars": 2165,
    "preview": "//\n//  AppDelegate.swift\n//  Meow\n//\n//  Created by kevinzhow on 15/6/10.\n//  Copyright (c) 2015年 kevinzhow. All rights "
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow/Base.lproj/LaunchScreen.xib",
    "chars": 3679,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.XIB\" version=\"3.0\" toolsVe"
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow/Base.lproj/Main.storyboard",
    "chars": 3730,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow/Images.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 1077,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\""
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow/Images.xcassets/cat_cart.imageset/Contents.json",
    "chars": 305,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow/Images.xcassets/cat_eyes.imageset/Contents.json",
    "chars": 305,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow/Images.xcassets/cat_fat.imageset/Contents.json",
    "chars": 304,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"scale\" : \"1x\"\n    },\n    {\n      \"idiom\" : \"universal\",\n     "
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow/Info.plist",
    "chars": 1495,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow/ViewController.swift",
    "chars": 499,
    "preview": "//\n//  ViewController.swift\n//  Meow\n//\n//  Created by kevinzhow on 15/6/10.\n//  Copyright (c) 2015年 kevinzhow. All righ"
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow.xcodeproj/project.pbxproj",
    "chars": 16957,
    "preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "chars": 149,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Meow.xcodeproj\""
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "chars": 238,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/Meow.xcscheme",
    "chars": 4170,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0630\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 566,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow.xcodeproj/xcuserdata/zhoukaiwen.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 339,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/Meow.xcscheme",
    "chars": 3688,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0700\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/Meow.xcodeproj/xcuserdata/zhowkevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 566,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/MeowTests/Info.plist",
    "chars": 733,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/AutoLayout/meow_2/MeowTests/MeowTests.swift",
    "chars": 883,
    "preview": "//\n//  MeowTests.swift\n//  MeowTests\n//\n//  Created by kevinzhow on 15/6/10.\n//  Copyright (c) 2015年 kevinzhow. All righ"
  },
  {
    "path": "Example Codes/Diary/Diary_0/Diary/AppDelegate.swift",
    "chars": 2163,
    "preview": "//\n//  AppDelegate.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights rese"
  },
  {
    "path": "Example Codes/Diary/Diary_0/Diary/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 1077,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\""
  },
  {
    "path": "Example Codes/Diary/Diary_0/Diary/Base.lproj/LaunchScreen.storyboard",
    "chars": 1740,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
  },
  {
    "path": "Example Codes/Diary/Diary_0/Diary/Base.lproj/Main.storyboard",
    "chars": 1695,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
  },
  {
    "path": "Example Codes/Diary/Diary_0/Diary/DiaryLabel.swift",
    "chars": 1787,
    "preview": "//\n//  DiaryLabel.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights reser"
  },
  {
    "path": "Example Codes/Diary/Diary_0/Diary/Info.plist",
    "chars": 1442,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_0/Diary/ViewController.swift",
    "chars": 495,
    "preview": "//\n//  ViewController.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights r"
  },
  {
    "path": "Example Codes/Diary/Diary_0/Diary.xcodeproj/project.pbxproj",
    "chars": 11609,
    "preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
  },
  {
    "path": "Example Codes/Diary/Diary_0/Diary.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "chars": 150,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Diary.xcodeproj"
  },
  {
    "path": "Example Codes/Diary/Diary_0/Diary.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/Diary.xcscheme",
    "chars": 3279,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0800\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/Diary/Diary_0/Diary.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 477,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary/AppDelegate.swift",
    "chars": 2163,
    "preview": "//\n//  AppDelegate.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights rese"
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 1077,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"29x29\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\""
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary/Base.lproj/LaunchScreen.storyboard",
    "chars": 1740,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary/Base.lproj/Main.storyboard",
    "chars": 1740,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary/DiaryLabel.swift",
    "chars": 1787,
    "preview": "//\n//  DiaryLabel.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights reser"
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary/Info.plist",
    "chars": 1584,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary/ViewController.swift",
    "chars": 495,
    "preview": "//\n//  ViewController.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights r"
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary.xcodeproj/project.pbxproj",
    "chars": 12111,
    "preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "chars": 150,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Diary.xcodeproj"
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "chars": 238,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/Diary.xcscheme",
    "chars": 3279,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0800\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 477,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_1/Diary.xcodeproj/xcuserdata/zhoukaiwen.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 340,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/AppDelegate.swift",
    "chars": 3098,
    "preview": "//\n//  AppDelegate.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights rese"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 1495,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\""
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/Assets.xcassets/Contents.json",
    "chars": 62,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/Assets.xcassets/Oval.imageset/Contents.json",
    "chars": 369,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"Oval.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n   "
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/Assets.xcassets/Oval_pressed.imageset/Contents.json",
    "chars": 393,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"Oval_pressed.png\",\n      \"scale\" : \"1x\"\n    },\n "
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/Base.lproj/LaunchScreen.storyboard",
    "chars": 1740,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/Base.lproj/Main.storyboard",
    "chars": 12869,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/Diary.xcdatamodeld/Diary.xcdatamodel/contents",
    "chars": 1178,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<model type=\"com.apple.IDECoreDataModeler.DataModel\" documentVer"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/DiaryAnimator.swift",
    "chars": 2394,
    "preview": "//\n//  DiaryAnimator.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights re"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/DiaryCell.swift",
    "chars": 874,
    "preview": "//\n//  DiaryCell.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights reserv"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/DiaryComposeViewController.swift",
    "chars": 7108,
    "preview": "//\n//  DiaryComposeViewController.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. "
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/DiaryLabel.swift",
    "chars": 2425,
    "preview": "//\n//  DiaryLabel.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights reser"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/DiaryLayout.swift",
    "chars": 896,
    "preview": "//\n//  DiaryLayout.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights rese"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/DiaryLocationHelper.swift",
    "chars": 1579,
    "preview": "//\n//  DiaryLocationHelper.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rig"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/DiaryMonthCollectionViewController.swift",
    "chars": 5789,
    "preview": "//\n//  DiaryMonthCollectionViewController.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kev"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/DiaryTemplate.html",
    "chars": 1275,
    "preview": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width; initia"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/DiaryViewController.swift",
    "chars": 8257,
    "preview": "//\n//  DiaryViewController.swift\n//  Diary\n//\n//  Created by kevinzhow on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. A"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/DiaryYearCollectionViewController.swift",
    "chars": 4297,
    "preview": "//\n//  DiaryYearCollectionViewController.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevi"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/Helper.swift",
    "chars": 3970,
    "preview": "//\n//  Helper.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights reserved."
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/HomeCollectionViewController.swift",
    "chars": 4699,
    "preview": "//\n//  HomeCollectionViewController.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/HomeYearCollectionViewCell.swift",
    "chars": 909,
    "preview": "//\n//  HomeYearCollectionViewCell.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. "
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/Info.plist",
    "chars": 1665,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary/ViewController.swift",
    "chars": 495,
    "preview": "//\n//  ViewController.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights r"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary.xcodeproj/project.pbxproj",
    "chars": 19536,
    "preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "chars": 150,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Diary.xcodeproj"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "chars": 238,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary.xcodeproj/xcuserdata/kevin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist",
    "chars": 91,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Bucket\n   type = \"1\"\n   version = \"2.0\">\n</Bucket>\n"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/Diary.xcscheme",
    "chars": 3279,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0800\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 477,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary.xcodeproj/xcuserdata/kevinzhow.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist",
    "chars": 91,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Bucket\n   type = \"1\"\n   version = \"2.0\">\n</Bucket>\n"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary.xcodeproj/xcuserdata/kevinzhow.xcuserdatad/xcschemes/Diary.xcscheme",
    "chars": 3279,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0800\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary.xcodeproj/xcuserdata/kevinzhow.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 477,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_10/Diary.xcodeproj/xcuserdata/zhoukaiwen.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 340,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/AppDelegate.swift",
    "chars": 3098,
    "preview": "//\n//  AppDelegate.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights rese"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 1495,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\""
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/Assets.xcassets/Contents.json",
    "chars": 62,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/Assets.xcassets/Oval.imageset/Contents.json",
    "chars": 369,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"Oval.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n   "
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/Assets.xcassets/Oval_pressed.imageset/Contents.json",
    "chars": 393,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"Oval_pressed.png\",\n      \"scale\" : \"1x\"\n    },\n "
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/Base.lproj/LaunchScreen.storyboard",
    "chars": 1740,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/Base.lproj/Main.storyboard",
    "chars": 12869,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/Diary.xcdatamodeld/Diary.xcdatamodel/contents",
    "chars": 1178,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<model type=\"com.apple.IDECoreDataModeler.DataModel\" documentVer"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/DiaryAnimator.swift",
    "chars": 2394,
    "preview": "//\n//  DiaryAnimator.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights re"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/DiaryCell.swift",
    "chars": 874,
    "preview": "//\n//  DiaryCell.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights reserv"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/DiaryComposeViewController.swift",
    "chars": 7148,
    "preview": "//\n//  DiaryComposeViewController.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. "
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/DiaryLabel.swift",
    "chars": 2425,
    "preview": "//\n//  DiaryLabel.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights reser"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/DiaryLayout.swift",
    "chars": 2562,
    "preview": "//\n//  DiaryLayout.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights rese"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/DiaryLocationHelper.swift",
    "chars": 1579,
    "preview": "//\n//  DiaryLocationHelper.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rig"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/DiaryMonthCollectionViewController.swift",
    "chars": 6257,
    "preview": "//\n//  DiaryMonthCollectionViewController.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kev"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/DiaryTemplate.html",
    "chars": 1275,
    "preview": "<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\">\n    <meta name=\"viewport\" content=\"width=device-width; initia"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/DiaryViewController.swift",
    "chars": 8257,
    "preview": "//\n//  DiaryViewController.swift\n//  Diary\n//\n//  Created by kevinzhow on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. A"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/DiaryYearCollectionViewController.swift",
    "chars": 4333,
    "preview": "//\n//  DiaryYearCollectionViewController.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevi"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/Helper.swift",
    "chars": 3970,
    "preview": "//\n//  Helper.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights reserved."
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/HomeCollectionViewController.swift",
    "chars": 4765,
    "preview": "//\n//  HomeCollectionViewController.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/HomeYearCollectionViewCell.swift",
    "chars": 909,
    "preview": "//\n//  HomeYearCollectionViewCell.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. "
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/Info.plist",
    "chars": 1665,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary/ViewController.swift",
    "chars": 495,
    "preview": "//\n//  ViewController.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights r"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary.xcodeproj/project.pbxproj",
    "chars": 19536,
    "preview": "// !$*UTF8*$!\n{\n\tarchiveVersion = 1;\n\tclasses = {\n\t};\n\tobjectVersion = 46;\n\tobjects = {\n\n/* Begin PBXBuildFile section *"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary.xcodeproj/project.xcworkspace/contents.xcworkspacedata",
    "chars": 150,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Workspace\n   version = \"1.0\">\n   <FileRef\n      location = \"self:Diary.xcodeproj"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist",
    "chars": 238,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary.xcodeproj/xcuserdata/kevin.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist",
    "chars": 91,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Bucket\n   type = \"1\"\n   version = \"2.0\">\n</Bucket>\n"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/Diary.xcscheme",
    "chars": 3279,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0800\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary.xcodeproj/xcuserdata/kevin.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 477,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary.xcodeproj/xcuserdata/kevinzhow.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist",
    "chars": 91,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Bucket\n   type = \"1\"\n   version = \"2.0\">\n</Bucket>\n"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary.xcodeproj/xcuserdata/kevinzhow.xcuserdatad/xcschemes/Diary.xcscheme",
    "chars": 3279,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Scheme\n   LastUpgradeVersion = \"0800\"\n   version = \"1.3\">\n   <BuildAction\n      "
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary.xcodeproj/xcuserdata/kevinzhow.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 477,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_11/Diary.xcodeproj/xcuserdata/zhoukaiwen.xcuserdatad/xcschemes/xcschememanagement.plist",
    "chars": 340,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/P"
  },
  {
    "path": "Example Codes/Diary/Diary_12/Diary/AppDelegate.swift",
    "chars": 3098,
    "preview": "//\n//  AppDelegate.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights rese"
  },
  {
    "path": "Example Codes/Diary/Diary_12/Diary/Assets.xcassets/AppIcon.appiconset/Contents.json",
    "chars": 1495,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"iphone\",\n      \"size\" : \"20x20\",\n      \"scale\" : \"2x\"\n    },\n    {\n      \"idiom\""
  },
  {
    "path": "Example Codes/Diary/Diary_12/Diary/Assets.xcassets/Contents.json",
    "chars": 62,
    "preview": "{\n  \"info\" : {\n    \"version\" : 1,\n    \"author\" : \"xcode\"\n  }\n}"
  },
  {
    "path": "Example Codes/Diary/Diary_12/Diary/Assets.xcassets/Oval.imageset/Contents.json",
    "chars": 369,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"Oval.png\",\n      \"scale\" : \"1x\"\n    },\n    {\n   "
  },
  {
    "path": "Example Codes/Diary/Diary_12/Diary/Assets.xcassets/Oval_pressed.imageset/Contents.json",
    "chars": 393,
    "preview": "{\n  \"images\" : [\n    {\n      \"idiom\" : \"universal\",\n      \"filename\" : \"Oval_pressed.png\",\n      \"scale\" : \"1x\"\n    },\n "
  },
  {
    "path": "Example Codes/Diary/Diary_12/Diary/Base.lproj/LaunchScreen.storyboard",
    "chars": 1740,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard"
  },
  {
    "path": "Example Codes/Diary/Diary_12/Diary/Base.lproj/Main.storyboard",
    "chars": 12869,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<document type=\"com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB\" version=\"3"
  },
  {
    "path": "Example Codes/Diary/Diary_12/Diary/Diary.xcdatamodeld/Diary.xcdatamodel/contents",
    "chars": 1178,
    "preview": "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n<model type=\"com.apple.IDECoreDataModeler.DataModel\" documentVer"
  },
  {
    "path": "Example Codes/Diary/Diary_12/Diary/DiaryAnimator.swift",
    "chars": 2394,
    "preview": "//\n//  DiaryAnimator.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights re"
  },
  {
    "path": "Example Codes/Diary/Diary_12/Diary/DiaryCell.swift",
    "chars": 874,
    "preview": "//\n//  DiaryCell.swift\n//  Diary\n//\n//  Created by 周楷雯 on 2016/10/16.\n//  Copyright © 2016年 kevinzhow. All rights reserv"
  }
]

// ... and 492 more files (download for full content)

About this extraction

This page contains the full source code of the ProducterTips/producter-book-examples GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 692 files (282.5 MB), approximately 998.1k tokens, and a symbol index with 149 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!