实例介绍
基于Swift4实现在线音乐播放器的源码,基于CoreData实现在线音乐的本地存储,代码有非常详细的注释。包含答辩PPT的制作
【实例截图】
【核心代码】
OnlinePlayer
├── OnlinePlayer
│ ├── __MACOSX
│ │ └── OnlinePlayer_18126363_钟惠
│ │ ├── Alamofire-master
│ │ │ ├── Alamofire.xcodeproj
│ │ │ │ ├── project.xcworkspace
│ │ │ │ │ ├── xcshareddata
│ │ │ │ │ └── xcuserdata
│ │ │ │ │ └── lishuting.xcuserdatad
│ │ │ │ ├── xcshareddata
│ │ │ │ │ └── xcschemes
│ │ │ │ └── xcuserdata
│ │ │ │ ├── lishuting.xcuserdatad
│ │ │ │ ├── mac_vmware_.xcuserdatad
│ │ │ │ │ └── xcschemes
│ │ │ │ └── zhangxi.xcuserdatad
│ │ │ │ └── xcschemes
│ │ │ ├── Alamofire.xcworkspace
│ │ │ │ └── xcshareddata
│ │ │ ├── docs
│ │ │ │ ├── Classes
│ │ │ │ │ ├── DownloadRequest
│ │ │ │ │ ├── NetworkReachabilityManager
│ │ │ │ │ ├── Request
│ │ │ │ │ └── SessionManager
│ │ │ │ ├── css
│ │ │ │ ├── docsets
│ │ │ │ │ └── Alamofire.docset
│ │ │ │ │ └── Contents
│ │ │ │ │ └── Resources
│ │ │ │ │ └── Documents
│ │ │ │ │ ├── Classes
│ │ │ │ │ │ ├── DownloadRequest
│ │ │ │ │ │ ├── NetworkReachabilityManager
│ │ │ │ │ │ ├── Request
│ │ │ │ │ │ └── SessionManager
│ │ │ │ │ ├── css
│ │ │ │ │ ├── Enums
│ │ │ │ │ │ └── AFError
│ │ │ │ │ ├── Extensions
│ │ │ │ │ │ └── Notification
│ │ │ │ │ │ └── Name
│ │ │ │ │ ├── img
│ │ │ │ │ ├── js
│ │ │ │ │ ├── Protocols
│ │ │ │ │ └── Structs
│ │ │ │ │ └── URLEncoding
│ │ │ │ ├── Enums
│ │ │ │ │ └── AFError
│ │ │ │ ├── Extensions
│ │ │ │ │ └── Notification
│ │ │ │ │ └── Name
│ │ │ │ ├── img
│ │ │ │ ├── js
│ │ │ │ ├── Protocols
│ │ │ │ └── Structs
│ │ │ │ └── URLEncoding
│ │ │ ├── Documentation
│ │ │ ├── Example
│ │ │ │ ├── iOS Example.xcodeproj
│ │ │ │ │ ├── project.xcworkspace
│ │ │ │ │ │ ├── xcshareddata
│ │ │ │ │ │ └── xcuserdata
│ │ │ │ │ │ └── lishuting.xcuserdatad
│ │ │ │ │ └── xcshareddata
│ │ │ │ │ └── xcschemes
│ │ │ │ ├── Resources
│ │ │ │ │ ├── Base.lproj
│ │ │ │ │ └── Images.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ ├── LaunchImage.launchimage
│ │ │ │ │ └── Logo.imageset
│ │ │ │ └── Source
│ │ │ ├── Source
│ │ │ └── Tests
│ │ │ └── Resources
│ │ │ ├── Certificates
│ │ │ │ ├── alamofire.org
│ │ │ │ ├── expired.badssl.com
│ │ │ │ └── selfSignedAndMalformedCerts
│ │ │ ├── Images
│ │ │ └── Responses
│ │ │ ├── JSON
│ │ │ ├── Property List
│ │ │ └── String
│ │ ├── FMProject
│ │ │ ├── Assets.xcassets
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── background1.imageset
│ │ │ │ ├── btns_file.imageset
│ │ │ │ ├── btns_next.imageset
│ │ │ │ ├── btns_play.imageset
│ │ │ │ ├── btns_pre.imageset
│ │ │ │ ├── btns_random.imageset
│ │ │ │ ├── btns_stop.imageset
│ │ │ │ ├── heart11.imageset
│ │ │ │ ├── heart1.imageset
│ │ │ │ ├── heart22.imageset
│ │ │ │ ├── littlebk1.imageset
│ │ │ │ ├── littlebk.imageset
│ │ │ │ ├── processB.imageset
│ │ │ │ ├── stop.imageset
│ │ │ │ ├── thumblack.imageset
│ │ │ │ ├── thumlog2.imageset
│ │ │ │ └── thumlog.imageset
│ │ │ ├── Base.lproj
│ │ │ └── CoreDataSwiftDemo_1128.xcdatamodeld
│ │ │ └── CoreDataSwiftDemo_1128.xcdatamodel
│ │ ├── FMProject.xcodeproj
│ │ │ ├── project.xcworkspace
│ │ │ │ ├── xcshareddata
│ │ │ │ └── xcuserdata
│ │ │ │ ├── mac_vmware_.xcuserdatad
│ │ │ │ └── zhangxi.xcuserdatad
│ │ │ └── xcuserdata
│ │ │ ├── lishuting.xcuserdatad
│ │ │ │ ├── xcdebugger
│ │ │ │ └── xcschemes
│ │ │ ├── mac_vmware_.xcuserdatad
│ │ │ │ └── xcdebugger
│ │ │ └── zhangxi.xcuserdatad
│ │ │ ├── xcdebugger
│ │ │ └── xcschemes
│ │ ├── KTVHTTPCache
│ │ │ └── Classes
│ │ │ ├── KTVHCCommon
│ │ │ ├── KTVHCDataStorage
│ │ │ ├── KTVHCDownload
│ │ │ ├── KTVHCHTTPServer
│ │ │ └── KTVHCTools
│ │ └── SwiftyJSON-master
│ │ ├── Example
│ │ │ ├── Example
│ │ │ │ ├── Base.lproj
│ │ │ │ └── Images.xcassets
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ └── LaunchImage.launchimage
│ │ │ ├── Example.xcodeproj
│ │ │ │ └── project.xcworkspace
│ │ │ └── Playground.playground
│ │ │ └── Resources
│ │ ├── Source
│ │ ├── SwiftyJSON.xcodeproj
│ │ │ ├── project.xcworkspace
│ │ │ │ └── xcshareddata
│ │ │ ├── xcshareddata
│ │ │ │ └── xcschemes
│ │ │ └── xcuserdata
│ │ │ ├── lishuting.xcuserdatad
│ │ │ ├── mac_vmware_.xcuserdatad
│ │ │ │ └── xcschemes
│ │ │ └── zhangxi.xcuserdatad
│ │ │ └── xcschemes
│ │ ├── SwiftyJSON.xcworkspace
│ │ │ └── xcshareddata
│ │ └── Tests
│ │ └── Tes
│ └── OnlinePlayer
│ ├── Alamofire-master
│ │ ├── alamofire.png
│ │ ├── Alamofire.podspec
│ │ ├── Alamofire.xcodeproj
│ │ │ ├── project.pbxproj
│ │ │ ├── project.xcworkspace
│ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ ├── xcshareddata
│ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ └── xcuserdata
│ │ │ │ └── lishuting.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ ├── xcshareddata
│ │ │ │ └── xcschemes
│ │ │ │ ├── Alamofire iOS.xcscheme
│ │ │ │ ├── Alamofire macOS.xcscheme
│ │ │ │ ├── Alamofire tvOS.xcscheme
│ │ │ │ ├── Alamofire watchOS.xcscheme
│ │ │ │ └── Cleanup Whitespace.xcscheme
│ │ │ └── xcuserdata
│ │ │ ├── lishuting.xcuserdatad
│ │ │ │ └── xcschemes
│ │ │ │ └── xcschememanagement.plist
│ │ │ ├── mac_vmware_.xcuserdatad
│ │ │ │ └── xcschemes
│ │ │ │ └── xcschememanagement.plist
│ │ │ └── zhangxi.xcuserdatad
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ ├── Alamofire.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ └── IDEWorkspaceChecks.plist
│ │ ├── CHANGELOG.md
│ │ ├── CONTRIBUTING.md
│ │ ├── docs
│ │ │ ├── badge.svg
│ │ │ ├── Classes
│ │ │ │ ├── DataRequest.html
│ │ │ │ ├── DownloadRequest
│ │ │ │ │ └── DownloadOptions.html
│ │ │ │ ├── DownloadRequest.html
│ │ │ │ ├── MultipartFormData.html
│ │ │ │ ├── NetworkReachabilityManager
│ │ │ │ │ ├── ConnectionType.html
│ │ │ │ │ └── NetworkReachabilityStatus.html
│ │ │ │ ├── NetworkReachabilityManager.html
│ │ │ │ ├── Request
│ │ │ │ │ └── ValidationResult.html
│ │ │ │ ├── Request.html
│ │ │ │ ├── ServerTrustPolicyManager.html
│ │ │ │ ├── SessionDelegate.html
│ │ │ │ ├── SessionManager
│ │ │ │ │ └── MultipartFormDataEncodingResult.html
│ │ │ │ ├── SessionManager.html
│ │ │ │ ├── TaskDelegate.html
│ │ │ │ └── UploadRequest.html
│ │ │ ├── Classes.html
│ │ │ ├── _config.yml
│ │ │ ├── css
│ │ │ │ ├── highlight.css
│ │ │ │ └── jazzy.css
│ │ │ ├── docsets
│ │ │ │ ├── Alamofire.docset
│ │ │ │ │ └── Contents
│ │ │ │ │ ├── Info.plist
│ │ │ │ │ └── Resources
│ │ │ │ │ ├── docSet.dsidx
│ │ │ │ │ └── Documents
│ │ │ │ │ ├── badge.svg
│ │ │ │ │ ├── Classes
│ │ │ │ │ │ ├── DataRequest.html
│ │ │ │ │ │ ├── DownloadRequest
│ │ │ │ │ │ │ └── DownloadOptions.html
│ │ │ │ │ │ ├── DownloadRequest.html
│ │ │ │ │ │ ├── MultipartFormData.html
│ │ │ │ │ │ ├── NetworkReachabilityManager
│ │ │ │ │ │ │ ├── ConnectionType.html
│ │ │ │ │ │ │ └── NetworkReachabilityStatus.html
│ │ │ │ │ │ ├── NetworkReachabilityManager.html
│ │ │ │ │ │ ├── Request
│ │ │ │ │ │ │ └── ValidationResult.html
│ │ │ │ │ │ ├── Request.html
│ │ │ │ │ │ ├── ServerTrustPolicyManager.html
│ │ │ │ │ │ ├── SessionDelegate.html
│ │ │ │ │ │ ├── SessionManager
│ │ │ │ │ │ │ └── MultipartFormDataEncodingResult.html
│ │ │ │ │ │ ├── SessionManager.html
│ │ │ │ │ │ ├── TaskDelegate.html
│ │ │ │ │ │ └── UploadRequest.html
│ │ │ │ │ ├── Classes.html
│ │ │ │ │ ├── _config.yml
│ │ │ │ │ ├── css
│ │ │ │ │ │ ├── highlight.css
│ │ │ │ │ │ └── jazzy.css
│ │ │ │ │ ├── Enums
│ │ │ │ │ │ ├── AFError
│ │ │ │ │ │ │ ├── MultipartEncodingFailureReason.html
│ │ │ │ │ │ │ ├── ParameterEncodingFailureReason.html
│ │ │ │ │ │ │ ├── ResponseSerializationFailureReason.html
│ │ │ │ │ │ │ └── ResponseValidationFailureReason.html
│ │ │ │ │ │ ├── AFError.html
│ │ │ │ │ │ ├── HTTPMethod.html
│ │ │ │ │ │ ├── Result.html
│ │ │ │ │ │ └── ServerTrustPolicy.html
│ │ │ │ │ ├── Enums.html
│ │ │ │ │ ├── Extensions
│ │ │ │ │ │ ├── Notification
│ │ │ │ │ │ │ ├── Key.html
│ │ │ │ │ │ │ ├── Name
│ │ │ │ │ │ │ │ └── Task.html
│ │ │ │ │ │ │ └── Name.html
│ │ │ │ │ │ ├── Notification.html
│ │ │ │ │ │ ├── String.html
│ │ │ │ │ │ ├── URLComponents.html
│ │ │ │ │ │ ├── URL.html
│ │ │ │ │ │ └── URLRequest.html
│ │ │ │ │ ├── Extensions.html
│ │ │ │ │ ├── Functions.html
│ │ │ │ │ ├── img
│ │ │ │ │ │ ├── carat.png
│ │ │ │ │ │ ├── dash.png
│ │ │ │ │ │ ├── gh.png
│ │ │ │ │ │ └── spinner.gif
│ │ │ │ │ ├── index.html
│ │ │ │ │ ├── js
│ │ │ │ │ │ ├── jazzy.js
│ │ │ │ │ │ ├── jazzy.search.js
│ │ │ │ │ │ ├── jquery.min.js
│ │ │ │ │ │ ├── lunr.min.js
│ │ │ │ │ │ └── typeahead.jquery.js
│ │ │ │ │ ├── Protocols
│ │ │ │ │ │ ├── DataResponseSerializerProtocol.html
│ │ │ │ │ │ ├── DownloadResponseSerializerProtocol.html
│ │ │ │ │ │ ├── ParameterEncoding.html
│ │ │ │ │ │ ├── RequestAdapter.html
│ │ │ │ │ │ ├── RequestRetrier.html
│ │ │ │ │ │ ├── URLConvertible.html
│ │ │ │ │ │ └── URLRequestConvertible.html
│ │ │ │ │ ├── Protocols.html
│ │ │ │ │ ├── search.json
│ │ │ │ │ ├── Structs
│ │ │ │ │ │ ├── DataResponse.html
│ │ │ │ │ │ ├── DataResponseSerializer.html
│ │ │ │ │ │ ├── DefaultDataResponse.html
│ │ │ │ │ │ ├── DefaultDownloadResponse.html
│ │ │ │ │ │ ├── DownloadResponse.html
│ │ │ │ │ │ ├── DownloadResponseSerializer.html
│ │ │ │ │ │ ├── JSONEncoding.html
│ │ │ │ │ │ ├── PropertyListEncoding.html
│ │ │ │ │ │ ├── Timeline.html
│ │ │ │ │ │ ├── URLEncoding
│ │ │ │ │ │ │ ├── ArrayEncoding.html
│ │ │ │ │ │ │ ├── BoolEncoding.html
│ │ │ │ │ │ │ └── Destination.html
│ │ │ │ │ │ └── URLEncoding.html
│ │ │ │ │ ├── Structs.html
│ │ │ │ │ ├── Typealiases.html
│ │ │ │ │ └── undocumented.json
│ │ │ │ ├── Alamofire.tgz
│ │ │ │ └── Alamofire.xml
│ │ │ ├── Enums
│ │ │ │ ├── AFError
│ │ │ │ │ ├── MultipartEncodingFailureReason.html
│ │ │ │ │ ├── ParameterEncodingFailureReason.html
│ │ │ │ │ ├── ResponseSerializationFailureReason.html
│ │ │ │ │ └── ResponseValidationFailureReason.html
│ │ │ │ ├── AFError.html
│ │ │ │ ├── HTTPMethod.html
│ │ │ │ ├── Result.html
│ │ │ │ └── ServerTrustPolicy.html
│ │ │ ├── Enums.html
│ │ │ ├── Extensions
│ │ │ │ ├── Notification
│ │ │ │ │ ├── Key.html
│ │ │ │ │ ├── Name
│ │ │ │ │ │ └── Task.html
│ │ │ │ │ └── Name.html
│ │ │ │ ├── Notification.html
│ │ │ │ ├── String.html
│ │ │ │ ├── URLComponents.html
│ │ │ │ ├── URL.html
│ │ │ │ └── URLRequest.html
│ │ │ ├── Extensions.html
│ │ │ ├── Functions.html
│ │ │ ├── img
│ │ │ │ ├── carat.png
│ │ │ │ ├── dash.png
│ │ │ │ ├── gh.png
│ │ │ │ └── spinner.gif
│ │ │ ├── index.html
│ │ │ ├── js
│ │ │ │ ├── jazzy.js
│ │ │ │ ├── jazzy.search.js
│ │ │ │ ├── jquery.min.js
│ │ │ │ ├── lunr.min.js
│ │ │ │ └── typeahead.jquery.js
│ │ │ ├── Protocols
│ │ │ │ ├── DataResponseSerializerProtocol.html
│ │ │ │ ├── DownloadResponseSerializerProtocol.html
│ │ │ │ ├── ParameterEncoding.html
│ │ │ │ ├── RequestAdapter.html
│ │ │ │ ├── RequestRetrier.html
│ │ │ │ ├── URLConvertible.html
│ │ │ │ └── URLRequestConvertible.html
│ │ │ ├── Protocols.html
│ │ │ ├── search.json
│ │ │ ├── Structs
│ │ │ │ ├── DataResponse.html
│ │ │ │ ├── DataResponseSerializer.html
│ │ │ │ ├── DefaultDataResponse.html
│ │ │ │ ├── DefaultDownloadResponse.html
│ │ │ │ ├── DownloadResponse.html
│ │ │ │ ├── DownloadResponseSerializer.html
│ │ │ │ ├── JSONEncoding.html
│ │ │ │ ├── PropertyListEncoding.html
│ │ │ │ ├── Timeline.html
│ │ │ │ ├── URLEncoding
│ │ │ │ │ ├── ArrayEncoding.html
│ │ │ │ │ ├── BoolEncoding.html
│ │ │ │ │ └── Destination.html
│ │ │ │ └── URLEncoding.html
│ │ │ ├── Structs.html
│ │ │ ├── Typealiases.html
│ │ │ └── undocumented.json
│ │ ├── Documentation
│ │ │ ├── AdvancedUsage.md
│ │ │ ├── Alamofire 2.0 Migration Guide.md
│ │ │ ├── Alamofire 3.0 Migration Guide.md
│ │ │ ├── Alamofire 4.0 Migration Guide.md
│ │ │ └── Usage.md
│ │ ├── Example
│ │ │ ├── iOS Example.xcodeproj
│ │ │ │ ├── project.pbxproj
│ │ │ │ ├── project.xcworkspace
│ │ │ │ │ ├── contents.xcworkspacedata
│ │ │ │ │ ├── xcshareddata
│ │ │ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ │ │ └── xcuserdata
│ │ │ │ │ └── lishuting.xcuserdatad
│ │ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ │ └── xcshareddata
│ │ │ │ └── xcschemes
│ │ │ │ └── iOS Example.xcscheme
│ │ │ ├── Resources
│ │ │ │ ├── Base.lproj
│ │ │ │ │ └── Main.storyboard
│ │ │ │ ├── Images.xcassets
│ │ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── LaunchImage.launchimage
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ └── Logo.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Logo@2x.png
│ │ │ │ │ └── Logo.png
│ │ │ │ └── Info.plist
│ │ │ └── Source
│ │ │ ├── AppDelegate.swift
│ │ │ ├── DetailViewController.swift
│ │ │ └── MasterViewController.swift
│ │ ├── Gemfile
│ │ ├── Gemfile.lock
│ │ ├── LICENSE
│ │ ├── Package.swift
│ │ ├── Package@swift-3.swift
│ │ ├── Package@swift-4.swift
│ │ ├── README.md
│ │ ├── Source
│ │ │ ├── AFError.swift
│ │ │ ├── Alamofire.h
│ │ │ ├── Alamofire.swift
│ │ │ ├── DispatchQueue+Alamofire.swift
│ │ │ ├── Info.plist
│ │ │ ├── Info-tvOS.plist
│ │ │ ├── MultipartFormData.swift
│ │ │ ├── NetworkReachabilityManager.swift
│ │ │ ├── Notifications.swift
│ │ │ ├── ParameterEncoding.swift
│ │ │ ├── Request.swift
│ │ │ ├── ResponseSerialization.swift
│ │ │ ├── Response.swift
│ │ │ ├── Result.swift
│ │ │ ├── ServerTrustPolicy.swift
│ │ │ ├── SessionDelegate.swift
│ │ │ ├── SessionManager.swift
│ │ │ ├── TaskDelegate.swift
│ │ │ ├── Timeline.swift
│ │ │ └── Validation.swift
│ │ └── Tests
│ │ ├── AFError+AlamofireTests.swift
│ │ ├── AuthenticationTests.swift
│ │ ├── BaseTestCase.swift
│ │ ├── CacheTests.swift
│ │ ├── DownloadTests.swift
│ │ ├── FileManager+AlamofireTests.swift
│ │ ├── Info.plist
│ │ ├── MultipartFormDataTests.swift
│ │ ├── NetworkReachabilityManagerTests.swift
│ │ ├── ParameterEncodingTests.swift
│ │ ├── RequestTests.swift
│ │ ├── Resources
│ │ │ ├── Certificates
│ │ │ │ ├── alamofire.org
│ │ │ │ │ ├── alamofire-root-ca.cer
│ │ │ │ │ ├── alamofire-signing-ca1.cer
│ │ │ │ │ ├── alamofire-signing-ca2.cer
│ │ │ │ │ ├── expired.cer
│ │ │ │ │ ├── missing-dns-name-and-uri.cer
│ │ │ │ │ ├── multiple-dns-names.cer
│ │ │ │ │ ├── signed-by-ca1.cer
│ │ │ │ │ ├── signed-by-ca2.cer
│ │ │ │ │ ├── test.alamofire.org.cer
│ │ │ │ │ ├── valid-dns-name.cer
│ │ │ │ │ ├── valid-uri.cer
│ │ │ │ │ └── wildcard.alamofire.org.cer
│ │ │ │ ├── expired.badssl.com
│ │ │ │ │ ├── expired.badssl.com-intermediate-ca-1.cer
│ │ │ │ │ ├── expired.badssl.com-intermediate-ca-2.cer
│ │ │ │ │ ├── expired.badssl.com-leaf.cer
│ │ │ │ │ └── expired.badssl.com-root-ca.cer
│ │ │ │ └── selfSignedAndMalformedCerts
│ │ │ │ ├── certDER.cer
│ │ │ │ ├── certDER.crt
│ │ │ │ ├── certDER.der
│ │ │ │ ├── certPEM.cer
│ │ │ │ ├── certPEM.crt
│ │ │ │ ├── keyDER.der
│ │ │ │ └── randomGibberish.crt
│ │ │ ├── Images
│ │ │ │ ├── rainbow.jpg
│ │ │ │ └── unicorn.png
│ │ │ └── Responses
│ │ │ ├── JSON
│ │ │ │ ├── empty_data.json
│ │ │ │ ├── invalid_data.json
│ │ │ │ └── valid_data.json
│ │ │ ├── Property List
│ │ │ │ ├── empty.data
│ │ │ │ ├── invalid.data
│ │ │ │ └── valid.data
│ │ │ └── String
│ │ │ ├── empty_string.txt
│ │ │ ├── utf32_string.txt
│ │ │ └── utf8_string.txt
│ │ ├── ResponseSerializationTests.swift
│ │ ├── ResponseTests.swift
│ │ ├── ResultTests.swift
│ │ ├── ServerTrustPolicyTests.swift
│ │ ├── SessionDelegateTests.swift
│ │ ├── SessionManagerTests.swift
│ │ ├── TLSEvaluationTests.swift
│ │ ├── UploadTests.swift
│ │ ├── URLProtocolTests.swift
│ │ └── ValidationTests.swift
│ ├── FMProject
│ │ ├── AppDelegate.swift
│ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ ├── background1.imageset
│ │ │ │ ├── background1.jpg
│ │ │ │ └── Contents.json
│ │ │ ├── background2.imageset
│ │ │ │ ├── background2.jpg
│ │ │ │ └── Contents.json
│ │ │ ├── btns_file.imageset
│ │ │ │ ├── btns_file.png
│ │ │ │ └── Contents.json
│ │ │ ├── btns_next.imageset
│ │ │ │ ├── btns_next.png
│ │ │ │ └── Contents.json
│ │ │ ├── btns_play.imageset
│ │ │ │ ├── btns_play.png
│ │ │ │ └── Contents.json
│ │ │ ├── btns_pre.imageset
│ │ │ │ ├── btns_pre.png
│ │ │ │ └── Contents.json
│ │ │ ├── btns_random.imageset
│ │ │ │ ├── btns_random.png
│ │ │ │ └── Contents.json
│ │ │ ├── btns_stop.imageset
│ │ │ │ ├── btns_stop.png
│ │ │ │ └── Contents.json
│ │ │ ├── Contents.json
│ │ │ ├── heart11.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── heart1.png
│ │ │ ├── heart1.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── lovethis.png
│ │ │ ├── heart22.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── heart2.png
│ │ │ ├── heart2.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── heart2.png
│ │ │ ├── littlebk1.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── littlebk.jpeg
│ │ │ ├── littlebk.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── littlebk.jpeg
│ │ │ ├── processB.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── processB.png
│ │ │ ├── stop.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── stop.png
│ │ │ ├── thumblack.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── thumblack.png
│ │ │ ├── thumlog2.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── thumlog2.jpeg
│ │ │ └── thumlog.imageset
│ │ │ ├── Contents.json
│ │ │ └── thumlog.png
│ │ ├── Base.lproj
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── Main.storyboard
│ │ ├── ChannelController.swift
│ │ ├── CoreDataManager.swift
│ │ ├── CoreDataSwiftDemo_1128.xcdatamodeld
│ │ │ └── CoreDataSwiftDemo_1128.xcdatamodel
│ │ │ └── contents
│ │ ├── data.json
│ │ ├── EkoButton.swift
│ │ ├── EkoImage.swift
│ │ ├── FMProject-Bridging-Header.h
│ │ ├── FMProject-Bridging-Header.m
│ │ ├── HTTPController.swift
│ │ ├── Info.plist
│ │ ├── ListViewController.swift
│ │ └── ViewController.swift
│ ├── FMProject-Bridging-Header.h
│ ├── FMProject.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ ├── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ │ └── xcuserdata
│ │ │ ├── lishuting.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ ├── mac_vmware_.xcuserdatad
│ │ │ │ └── UserInterfaceState.xcuserstate
│ │ │ └── zhangxi.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ │ └── xcuserdata
│ │ ├── lishuting.xcuserdatad
│ │ │ ├── xcdebugger
│ │ │ │ └── Breakpoints_v2.xcbkptlist
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ ├── mac_vmware_.xcuserdatad
│ │ │ └── xcdebugger
│ │ │ └── Breakpoints_v2.xcbkptlist
│ │ └── zhangxi.xcuserdatad
│ │ ├── xcdebugger
│ │ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
│ ├── jh.m
│ ├── KTVHTTPCache
│ │ ├── Classes
│ │ │ ├── KTVHCCommon
│ │ │ │ ├── KTVHCCommon.h
│ │ │ │ ├── KTVHCError.h
│ │ │ │ ├── KTVHCError.m
│ │ │ │ ├── KTVHCLog.h
│ │ │ │ ├── KTVHCLog.m
│ │ │ │ ├── KTVHCRange.h
│ │ │ │ └── KTVHCRange.m
│ │ │ ├── KTVHCDataStorage
│ │ │ │ ├── KTVHCDataCacheItem.h
│ │ │ │ ├── KTVHCDataCacheItem.m
│ │ │ │ ├── KTVHCDataCacheItemZone.h
│ │ │ │ ├── KTVHCDataCacheItemZone.m
│ │ │ │ ├── KTVHCDataCallback.h
│ │ │ │ ├── KTVHCDataCallback.m
│ │ │ │ ├── KTVHCDataFileSource.h
│ │ │ │ ├── KTVHCDataFileSource.m
│ │ │ │ ├── KTVHCDataLoader.h
│ │ │ │ ├── KTVHCDataLoader.m
│ │ │ │ ├── KTVHCDataNetworkSource.h
│ │ │ │ ├── KTVHCDataNetworkSource.m
│ │ │ │ ├── KTVHCDataPrivate.h
│ │ │ │ ├── KTVHCDataReader.h
│ │ │ │ ├── KTVHCDataReader.m
│ │ │ │ ├── KTVHCDataRequest.h
│ │ │ │ ├── KTVHCDataRequest.m
│ │ │ │ ├── KTVHCDataResponse.h
│ │ │ │ ├── KTVHCDataResponse.m
│ │ │ │ ├── KTVHCDataSourceManager.h
│ │ │ │ ├── KTVHCDataSourceManager.m
│ │ │ │ ├── KTVHCDataSourceProtocol.h
│ │ │ │ ├── KTVHCDataSourceQueue.h
│ │ │ │ ├── KTVHCDataSourceQueue.m
│ │ │ │ ├── KTVHCDataStorage.h
│ │ │ │ ├── KTVHCDataStorage.m
│ │ │ │ ├── KTVHCDataUnit.h
│ │ │ │ ├── KTVHCDataUnitItem.h
│ │ │ │ ├── KTVHCDataUnitItem.m
│ │ │ │ ├── KTVHCDataUnit.m
│ │ │ │ ├── KTVHCDataUnitPool.h
│ │ │ │ ├── KTVHCDataUnitPool.m
│ │ │ │ ├── KTVHCDataUnitQueue.h
│ │ │ │ └── KTVHCDataUnitQueue.m
│ │ │ ├── KTVHCDownload
│ │ │ │ ├── KTVHCDownload.h
│ │ │ │ └── KTVHCDownload.m
│ │ │ ├── KTVHCHTTPServer
│ │ │ │ ├── KTVHCHTTPConnection.h
│ │ │ │ ├── KTVHCHTTPConnection.m
│ │ │ │ ├── KTVHCHTTPHeader.h
│ │ │ │ ├── KTVHCHTTPPingResponse.h
│ │ │ │ ├── KTVHCHTTPPingResponse.m
│ │ │ │ ├── KTVHCHTTPRequest.h
│ │ │ │ ├── KTVHCHTTPRequest.m
│ │ │ │ ├── KTVHCHTTPResponse.h
│ │ │ │ ├── KTVHCHTTPResponse.m
│ │ │ │ ├── KTVHCHTTPServer.h
│ │ │ │ ├── KTVHCHTTPServer.m
│ │ │ │ ├── KTVHCHTTPURL.h
│ │ │ │ └── KTVHCHTTPURL.m
│ │ │ ├── KTVHCTools
│ │ │ │ ├── KTVHCPathTools.h
│ │ │ │ ├── KTVHCPathTools.m
│ │ │ │ ├── KTVHCURLTools.h
│ │ │ │ └── KTVHCURLTools.m
│ │ │ ├── KTVHTTPCacheImp.h
│ │ │ └── KTVHTTPCacheImp.m
│ │ └── KTVHTTPCache.h
│ └── SwiftyJSON-master
│ ├── CHANGELOG.md
│ ├── Example
│ │ ├── Example
│ │ │ ├── AppDelegate.swift
│ │ │ ├── Base.lproj
│ │ │ │ ├── LaunchScreen.xib
│ │ │ │ └── Main.storyboard
│ │ │ ├── Images.xcassets
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ └── Contents.json
│ │ │ │ └── LaunchImage.launchimage
│ │ │ │ ├── Contents.json
│ │ │ │ └── Default@2x.png
│ │ │ ├── Info.plist
│ │ │ ├── SwiftyJSONTests.json
│ │ │ └── ViewController.swift
│ │ ├── Example.xcodeproj
│ │ │ ├── project.pbxproj
│ │ │ └── project.xcworkspace
│ │ │ └── contents.xcworkspacedata
│ │ └── Playground.playground
│ │ ├── Contents.swift
│ │ ├── contents.xcplayground
│ │ └── Resources
│ │ └── SwiftyJSONTests.json
│ ├── LICENSE
│ ├── Package.swift
│ ├── README.md
│ ├── Source
│ │ ├── Info-iOS.plist
│ │ ├── Info-macOS.plist
│ │ ├── Info-tvOS.plist
│ │ ├── Info-watchOS.plist
│ │ ├── SwiftyJSON.h
│ │ └── SwiftyJSON.swift
│ ├── SwiftyJSON.podspec
│ ├── SwiftyJSON.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ └── SwiftyJSON.xccheckout
│ │ ├── xcshareddata
│ │ │ └── xcschemes
│ │ │ ├── SwiftyJSON iOS.xcscheme
│ │ │ ├── SwiftyJSON macOS.xcscheme
│ │ │ ├── SwiftyJSON tvOS.xcscheme
│ │ │ └── SwiftyJSON watchOS.xcscheme
│ │ └── xcuserdata
│ │ ├── lishuting.xcuserdatad
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ ├── mac_vmware_.xcuserdatad
│ │ │ └── xcschemes
│ │ │ └── xcschememanagement.plist
│ │ └── zhangxi.xcuserdatad
│ │ └── xcschemes
│ │ └── xcschememanagement.plist
│ ├── SwiftyJSON.xcworkspace
│ │ ├── contents.xcworkspacedata
│ │ └── xcshareddata
│ │ ├── IDEWorkspaceChecks.plist
│ │ └── WorkspaceSettings.xcsettings
│ └── Tests
│ ├── ArrayTests.swift
│ ├── BaseTests.swift
│ ├── CodableTests.swift
│ ├── ComparableTests.swift
│ ├── DictionaryTests.swift
│ ├── Info-iOS.plist
│ ├── Info-macOS.plist
│ ├── Info-tvOS.plist
│ ├── LiteralConvertibleTests.swift
│ ├── MergeTests.swift
│ ├── MutabilityTests.swift
│ ├── NestedJSONTests.swift
│ ├── NumberTests.swift
│ ├── PerformanceTests.swift
│ ├── PrintableTests.swift
│ ├── RawRepresentableTests.swift
│ ├── RawTests.swift
│ ├── SequenceTypeTests.swift
│ ├── StringTests.swift
│ ├── SubscriptTests.swift
│ └── Tes
│ └── Tests.json
└── OnlinePlayer.ppt
317 directories, 463 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论