实例介绍
1、代码都是高质量代码,通过多次重构,注释非常详细 2、项目架构很清晰,无论是修改还是为以后扩展都很不错
【实例截图】
【核心代码】
96f48e2e-7b9f-4fec-babc-d025b9670d50
├── ApeCircle
│ ├── Code
│ │ └── ApeCircle
│ │ ├── ApeCircle
│ │ │ ├── ApeCircle.xcdatamodeld
│ │ │ │ └── ApeCircle.xcdatamodel
│ │ │ │ └── contents
│ │ │ ├── Assets.xcassets
│ │ │ │ ├── AppIcon.appiconset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Icon-29@2x-1.png
│ │ │ │ │ ├── Icon-29@2x-2.png
│ │ │ │ │ ├── Icon-29@3x.png
│ │ │ │ │ ├── Icon-29.png
│ │ │ │ │ ├── Icon-30.png
│ │ │ │ │ ├── Icon-40@2x-1.png
│ │ │ │ │ ├── Icon-40@2x-2.png
│ │ │ │ │ ├── Icon-40@3x.png
│ │ │ │ │ ├── Icon-40.png
│ │ │ │ │ ├── Icon-60@2x-1.png
│ │ │ │ │ ├── Icon-60@2x.png
│ │ │ │ │ ├── Icon-60@3x-1.png
│ │ │ │ │ ├── Icon-60@3x.png
│ │ │ │ │ ├── Icon-76@2x.png
│ │ │ │ │ └── Icon-76.png
│ │ │ │ ├── Contents.json
│ │ │ │ ├── language
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── edit.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── edit@2x.png
│ │ │ │ │ │ └── edit@3x.png
│ │ │ │ │ ├── iOS.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── iOS@2x.png
│ │ │ │ │ │ └── iOS@3x.png
│ │ │ │ │ └── java.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── java@2x.png
│ │ │ │ │ └── java@3x.png
│ │ │ │ ├── logo
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── errorLogo.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── errorLogo@2x.png
│ │ │ │ │ │ └── errorLogo@3x.png
│ │ │ │ │ ├── loginAlreadyLogo.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ ├── loginAlreadyLogo@2x.png
│ │ │ │ │ │ └── loginAlreadyLogo@3x.png
│ │ │ │ │ └── loginDefaultLogo.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── loginDefaultLogo@2x.png
│ │ │ │ │ └── loginDefaultLogo@3x.png
│ │ │ │ ├── navigation
│ │ │ │ │ ├── back.imageset
│ │ │ │ │ │ ├── back@2x.png
│ │ │ │ │ │ ├── back@3x.png
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── collect_normal.imageset
│ │ │ │ │ │ ├── collect_normal@2x.png
│ │ │ │ │ │ ├── collect_normal@3x.png
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── collect_selected.imageset
│ │ │ │ │ │ ├── collect_selected@2x.png
│ │ │ │ │ │ ├── collect_selected@3x.png
│ │ │ │ │ │ └── Contents.json
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── quit.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── quit@2x.png
│ │ │ │ │ └── quit@3x.png
│ │ │ │ ├── ranking
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── ranking_polygon.imageset
│ │ │ │ │ │ ├── Contents.json
│ │ │ │ │ │ └── ranking_polygon@2x.png
│ │ │ │ │ └── ranking_round.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── ranking_round@2x.png
│ │ │ │ └── tarBar
│ │ │ │ ├── collection.imageset
│ │ │ │ │ ├── collection@2x.png
│ │ │ │ │ ├── collection@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── Contents.json
│ │ │ │ ├── individual.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── Individual@2x.png
│ │ │ │ │ └── Individual@3x.png
│ │ │ │ ├── PPQ.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── PPQ@2x.png
│ │ │ │ │ └── PPQ@3x.png
│ │ │ │ └── practice.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── practice@2x.png
│ │ │ │ └── practice@3x.png
│ │ │ ├── Base.lproj
│ │ │ │ └── LaunchScreen.storyboard
│ │ │ ├── Collection
│ │ │ │ └── Controller
│ │ │ │ ├── CollectionTableViewController.h
│ │ │ │ └── CollectionTableViewController.m
│ │ │ ├── Individual
│ │ │ │ └── Controller
│ │ │ │ ├── EditDetailedInformationTableViewController.h
│ │ │ │ ├── EditDetailedInformationTableViewController.m
│ │ │ │ ├── EditInformationTableViewController.h
│ │ │ │ ├── EditInformationTableViewController.m
│ │ │ │ ├── IndividualTableViewController.h
│ │ │ │ ├── IndividualTableViewController.m
│ │ │ │ ├── LoginViewController.h
│ │ │ │ ├── LoginViewController.m
│ │ │ │ ├── MessageLoginViewController.h
│ │ │ │ └── MessageLoginViewController.m
│ │ │ ├── Info.plist
│ │ │ ├── Main
│ │ │ │ ├── All
│ │ │ │ │ ├── NTNavigationController.h
│ │ │ │ │ ├── NTNavigationController.m
│ │ │ │ │ ├── NTTabBarViewController.h
│ │ │ │ │ ├── NTTabBarViewController.m
│ │ │ │ │ ├── NTTableViewCell.h
│ │ │ │ │ └── NTTableViewCell.m
│ │ │ │ ├── Category
│ │ │ │ │ ├── NSObject+kindsOfTool.h
│ │ │ │ │ ├── NSObject+kindsOfTool.m
│ │ │ │ │ ├── UIBarButtonItem+NavigationBarButtonItem.h
│ │ │ │ │ ├── UIBarButtonItem+NavigationBarButtonItem.m
│ │ │ │ │ ├── UIButton+KindsOfButton.h
│ │ │ │ │ ├── UIButton+KindsOfButton.m
│ │ │ │ │ ├── UIColor+HexString.h
│ │ │ │ │ ├── UIColor+HexString.m
│ │ │ │ │ ├── UILabel+KindsOfLable.h
│ │ │ │ │ ├── UILabel+KindsOfLable.m
│ │ │ │ │ ├── UIView+Dimension.h
│ │ │ │ │ └── UIView+Dimension.m
│ │ │ │ ├── Others
│ │ │ │ │ ├── AppDelegate.h
│ │ │ │ │ ├── AppDelegate.m
│ │ │ │ │ └── main.m
│ │ │ │ ├── SDK
│ │ │ │ │ ├── AVOSCloud
│ │ │ │ │ │ └── AVOSCloud.framework
│ │ │ │ │ │ ├── AVOSCloud
│ │ │ │ │ │ ├── _CodeSignature
│ │ │ │ │ │ │ ├── CodeDirectory
│ │ │ │ │ │ │ ├── CodeRequirements
│ │ │ │ │ │ │ ├── CodeResources
│ │ │ │ │ │ │ └── CodeSignature
│ │ │ │ │ │ ├── embedded.mobileprovision
│ │ │ │ │ │ ├── Headers
│ │ │ │ │ │ │ ├── AVACL.h
│ │ │ │ │ │ │ ├── AVAnalytics.h
│ │ │ │ │ │ │ ├── AVAnonymousUtils.h
│ │ │ │ │ │ │ ├── AVCloud.h
│ │ │ │ │ │ │ ├── AVCloudQueryResult.h
│ │ │ │ │ │ │ ├── AVConstants.h
│ │ │ │ │ │ │ ├── AVFile.h
│ │ │ │ │ │ │ ├── AVFileQuery.h
│ │ │ │ │ │ │ ├── AVGeoPoint.h
│ │ │ │ │ │ │ ├── AVGroup.h
│ │ │ │ │ │ │ ├── AVHistoryMessage.h
│ │ │ │ │ │ │ ├── AVHistoryMessageQuery.h
│ │ │ │ │ │ │ ├── AVInstallation.h
│ │ │ │ │ │ │ ├── AVLogger.h
│ │ │ │ │ │ │ ├── AVMessage.h
│ │ │ │ │ │ │ ├── AVObject.h
│ │ │ │ │ │ │ ├── AVObject+Subclass.h
│ │ │ │ │ │ │ ├── AVOSCloud.h
│ │ │ │ │ │ │ ├── AVPush.h
│ │ │ │ │ │ │ ├── AVQuery.h
│ │ │ │ │ │ │ ├── AVRelation.h
│ │ │ │ │ │ │ ├── AVRole.h
│ │ │ │ │ │ │ ├── AVSearchQuery.h
│ │ │ │ │ │ │ ├── AVSearchSortBuilder.h
│ │ │ │ │ │ │ ├── AVSession.h
│ │ │ │ │ │ │ ├── AVSignature.h
│ │ │ │ │ │ │ ├── AVStatus.h
│ │ │ │ │ │ │ ├── AVSubclassing.h
│ │ │ │ │ │ │ └── AVUser.h
│ │ │ │ │ │ ├── Info.plist
│ │ │ │ │ │ ├── Modules
│ │ │ │ │ │ │ └── module.modulemap
│ │ │ │ │ │ └── PrivateHeaders
│ │ │ │ │ │ ├── AFNetworkingFix.h
│ │ │ │ │ │ ├── AVAmazonS3Client.h
│ │ │ │ │ │ ├── AVFileHTTPRequestOperation.h
│ │ │ │ │ │ ├── AVGlobal.h
│ │ │ │ │ │ ├── AVHelpers.h
│ │ │ │ │ │ ├── AVHTTPClient.h
│ │ │ │ │ │ ├── AVHTTPRequestOperation.h
│ │ │ │ │ │ ├── AVImageRequestOperation.h
│ │ │ │ │ │ ├── AVJSONRequestOperation.h
│ │ │ │ │ │ ├── AVLocationManager.h
│ │ │ │ │ │ ├── AVNetworkActivityIndicatorManager.h
│ │ │ │ │ │ ├── AVNetworking.h
│ │ │ │ │ │ ├── AVURLConnectionOperation.h
│ │ │ │ │ │ └── AVXMLRequestOperation.h
│ │ │ │ │ ├── MJRefresh
│ │ │ │ │ │ ├── Base
│ │ │ │ │ │ │ ├── MJRefreshAutoFooter.h
│ │ │ │ │ │ │ ├── MJRefreshAutoFooter.m
│ │ │ │ │ │ │ ├── MJRefreshBackFooter.h
│ │ │ │ │ │ │ ├── MJRefreshBackFooter.m
│ │ │ │ │ │ │ ├── MJRefreshComponent.h
│ │ │ │ │ │ │ ├── MJRefreshComponent.m
│ │ │ │ │ │ │ ├── MJRefreshFooter.h
│ │ │ │ │ │ │ ├── MJRefreshFooter.m
│ │ │ │ │ │ │ ├── MJRefreshHeader.h
│ │ │ │ │ │ │ └── MJRefreshHeader.m
│ │ │ │ │ │ ├── Custom
│ │ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ │ ├── Auto
│ │ │ │ │ │ │ │ │ ├── MJRefreshAutoGifFooter.h
│ │ │ │ │ │ │ │ │ ├── MJRefreshAutoGifFooter.m
│ │ │ │ │ │ │ │ │ ├── MJRefreshAutoNormalFooter.h
│ │ │ │ │ │ │ │ │ ├── MJRefreshAutoNormalFooter.m
│ │ │ │ │ │ │ │ │ ├── MJRefreshAutoStateFooter.h
│ │ │ │ │ │ │ │ │ └── MJRefreshAutoStateFooter.m
│ │ │ │ │ │ │ │ └── Back
│ │ │ │ │ │ │ │ ├── MJRefreshBackGifFooter.h
│ │ │ │ │ │ │ │ ├── MJRefreshBackGifFooter.m
│ │ │ │ │ │ │ │ ├── MJRefreshBackNormalFooter.h
│ │ │ │ │ │ │ │ ├── MJRefreshBackNormalFooter.m
│ │ │ │ │ │ │ │ ├── MJRefreshBackStateFooter.h
│ │ │ │ │ │ │ │ └── MJRefreshBackStateFooter.m
│ │ │ │ │ │ │ └── Header
│ │ │ │ │ │ │ ├── MJRefreshGifHeader.h
│ │ │ │ │ │ │ ├── MJRefreshGifHeader.m
│ │ │ │ │ │ │ ├── MJRefreshNormalHeader.h
│ │ │ │ │ │ │ ├── MJRefreshNormalHeader.m
│ │ │ │ │ │ │ ├── MJRefreshStateHeader.h
│ │ │ │ │ │ │ └── MJRefreshStateHeader.m
│ │ │ │ │ │ ├── MJRefresh.bundle
│ │ │ │ │ │ │ └── arrow@2x.png
│ │ │ │ │ │ ├── MJRefreshConst.h
│ │ │ │ │ │ ├── MJRefreshConst.m
│ │ │ │ │ │ ├── MJRefresh.h
│ │ │ │ │ │ ├── UIScrollView+MJExtension.h
│ │ │ │ │ │ ├── UIScrollView+MJExtension.m
│ │ │ │ │ │ ├── UIScrollView+MJRefresh.h
│ │ │ │ │ │ ├── UIScrollView+MJRefresh.m
│ │ │ │ │ │ ├── UIView+MJExtension.h
│ │ │ │ │ │ └── UIView+MJExtension.m
│ │ │ │ │ └── SDWebImage
│ │ │ │ │ ├── MKAnnotationView+WebCache.h
│ │ │ │ │ ├── MKAnnotationView+WebCache.m
│ │ │ │ │ ├── NSData+ImageContentType.h
│ │ │ │ │ ├── NSData+ImageContentType.m
│ │ │ │ │ ├── SDImageCache.h
│ │ │ │ │ ├── SDImageCache.m
│ │ │ │ │ ├── SDWebImageCompat.h
│ │ │ │ │ ├── SDWebImageCompat.m
│ │ │ │ │ ├── SDWebImageDecoder.h
│ │ │ │ │ ├── SDWebImageDecoder.m
│ │ │ │ │ ├── SDWebImageDownloader.h
│ │ │ │ │ ├── SDWebImageDownloader.m
│ │ │ │ │ ├── SDWebImageDownloaderOperation.h
│ │ │ │ │ ├── SDWebImageDownloaderOperation.m
│ │ │ │ │ ├── SDWebImageManager.h
│ │ │ │ │ ├── SDWebImageManager.m
│ │ │ │ │ ├── SDWebImageOperation.h
│ │ │ │ │ ├── SDWebImagePrefetcher.h
│ │ │ │ │ ├── SDWebImagePrefetcher.m
│ │ │ │ │ ├── UIButton+WebCache.h
│ │ │ │ │ ├── UIButton+WebCache.m
│ │ │ │ │ ├── UIImage+GIF.h
│ │ │ │ │ ├── UIImage+GIF.m
│ │ │ │ │ ├── UIImage+MultiFormat.h
│ │ │ │ │ ├── UIImage+MultiFormat.m
│ │ │ │ │ ├── UIImageView+HighlightedWebCache.h
│ │ │ │ │ ├── UIImageView+HighlightedWebCache.m
│ │ │ │ │ ├── UIImageView+WebCache.h
│ │ │ │ │ ├── UIImageView+WebCache.m
│ │ │ │ │ ├── UIImage+WebP.h
│ │ │ │ │ ├── UIImage+WebP.m
│ │ │ │ │ ├── UIView+WebCacheOperation.h
│ │ │ │ │ └── UIView+WebCacheOperation.m
│ │ │ │ └── Temp
│ │ │ │ ├── NTButton.h
│ │ │ │ ├── NTButton.m
│ │ │ │ ├── TestViewController1.h
│ │ │ │ └── TestViewController1.m
│ │ │ ├── PPQ
│ │ │ │ ├── Controller
│ │ │ │ │ ├── PPQTableViewController.h
│ │ │ │ │ └── PPQTableViewController.m
│ │ │ │ ├── Model
│ │ │ │ │ ├── NTCompanyModel.h
│ │ │ │ │ └── NTCompanyModel.m
│ │ │ │ └── View
│ │ │ │ ├── NTPPQTableViewHeaderView.h
│ │ │ │ └── NTPPQTableViewHeaderView.m
│ │ │ ├── Practice
│ │ │ │ ├── Controller
│ │ │ │ │ ├── ExerciseTableViewController.h
│ │ │ │ │ ├── ExerciseTableViewController.m
│ │ │ │ │ ├── LanguageTableViewController.h
│ │ │ │ │ ├── LanguageTableViewController.m
│ │ │ │ │ ├── PracticeTableViewController.h
│ │ │ │ │ ├── PracticeTableViewController.m
│ │ │ │ │ ├── RankingListDetailTableViewController.h
│ │ │ │ │ ├── RankingListDetailTableViewController.m
│ │ │ │ │ ├── RankingListViewController.h
│ │ │ │ │ └── RankingListViewController.m
│ │ │ │ ├── Model
│ │ │ │ │ ├── NTLanguageTypeModel.h
│ │ │ │ │ ├── NTLanguageTypeModel.m
│ │ │ │ │ ├── NTPracticeCellModel.h
│ │ │ │ │ ├── NTPracticeCellModel.m
│ │ │ │ │ ├── NTRankingListModel.h
│ │ │ │ │ └── NTRankingListModel.m
│ │ │ │ └── View
│ │ │ │ ├── NTHeaderImageView.h
│ │ │ │ ├── NTHeaderImageView.m
│ │ │ │ ├── NTLanguageTypeTableViewCell.h
│ │ │ │ └── NTLanguageTypeTableViewCell.m
│ │ │ ├── PracticeCellList.plist
│ │ │ └── PrefixHeader.pch
│ │ ├── ApeCircleTests
│ │ │ ├── ApeCircleTests.m
│ │ │ └── Info.plist
│ │ ├── ApeCircleUITests
│ │ │ ├── ApeCircleUITests.m
│ │ │ └── Info.plist
│ │ └── ApeCircle.xcodeproj
│ │ ├── project.pbxproj
│ │ ├── project.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcuserdata
│ │ │ └── Ezreal.xcuserdatad
│ │ │ └── UserInterfaceState.xcuserstate
│ │ └── xcuserdata
│ │ └── Ezreal.xcuserdatad
│ │ ├── xcdebugger
│ │ │ └── Breakpoints_v2.xcbkptlist
│ │ └── xcschemes
│ │ ├── ApeCircle.xcscheme
│ │ └── xcschememanagement.plist
│ ├── Documents
│ │ └── Until now.txt
│ └── Materials
│ ├── Original
│ │ ├── Images.xcassets
│ │ │ ├── analysis
│ │ │ │ ├── ic_oval.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── ic_oval@2x.png
│ │ │ │ ├── ic_star.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── ic_star@2x.png
│ │ │ │ ├── StarsBackground.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── StarsBackground.png
│ │ │ │ └── StarsForeground.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── StarsForeground.png
│ │ │ ├── AppIcon.appiconset
│ │ │ │ └── Contents.json
│ │ │ ├── guide
│ │ │ │ ├── guide_mask_4s.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── guide_mask_4s@2x.png
│ │ │ │ ├── guide_mask_5.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── guide_mask_5@2x.png
│ │ │ │ ├── guide_mask_6.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── guide_mask_6@2x.png
│ │ │ │ │ └── guide_mask_6@3x.png
│ │ │ │ ├── guide_mask_ipad.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── guide_mask_ipad@2x.png
│ │ │ │ ├── send_mask_4s.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── send_mask_4s@2x.png
│ │ │ │ ├── send_mask_5.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── send_mask_5@2x.png
│ │ │ │ ├── send_mask_6.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── send_mask_6@2x.png
│ │ │ │ │ └── send_mask_6@3x.png
│ │ │ │ ├── step1_new.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── step1_new@2x.png
│ │ │ │ │ └── step1_new@3x.png
│ │ │ │ ├── step2_new.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── step2_new@2x.png
│ │ │ │ │ └── step2_new@3x.png
│ │ │ │ └── step3_new.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── step3_new@2x.png
│ │ │ │ └── step3_new@3x.png
│ │ │ ├── item
│ │ │ │ ├── all_analysis.imageset
│ │ │ │ │ ├── all_analysis@2x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── back.imageset
│ │ │ │ │ ├── back@2x.png
│ │ │ │ │ ├── back@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── btn_restart.imageset
│ │ │ │ │ ├── btn_restart@2x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── ic_notepad_l.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── ic_notepad_l.png
│ │ │ │ ├── mark_E.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── mark_E@2x.png
│ │ │ │ │ └── mark_E@3x.png
│ │ │ │ ├── mark_F.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── mark_F@2x.png
│ │ │ │ │ └── mark_F@3x.png
│ │ │ │ ├── plus_L.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── quit.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ └── wrong_analysis.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── wrongQuesAnalysis@2x.png
│ │ │ ├── language
│ │ │ │ ├── iOS.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ └── java.imageset
│ │ │ │ └── Contents.json
│ │ │ ├── launchImage
│ │ │ │ ├── background.imageset
│ │ │ │ │ ├── background.png
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── keboard.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── keboard.png
│ │ │ │ ├── launch_desc.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── launch_desc.png
│ │ │ │ └── login_desc.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ └── login_desc.png
│ │ │ ├── LaunchImage.launchimage
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchImage_4@2x.png
│ │ │ │ └── LaunchImage_5@2x.png
│ │ │ ├── login
│ │ │ │ ├── eye_hidden.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── eye_hidden@2x.png
│ │ │ │ │ └── eye_hidden@3x.png
│ │ │ │ └── eye_show.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── eye_show@2x.png
│ │ │ │ └── eye_show@3x.png
│ │ │ ├── logo
│ │ │ │ ├── errorCoder.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── icon.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── logo.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ └── logo@2x.png
│ │ │ │ ├── portrait_gray_click.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── portrait_gray.imageset
│ │ │ │ │ ├── Contents.json
│ │ │ │ │ ├── portrait_gray@2x.png
│ │ │ │ │ └── portrait_gray@3x.png
│ │ │ │ └── portrait.imageset
│ │ │ │ └── Contents.json
│ │ │ ├── tabbar
│ │ │ │ ├── b1.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── b2.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── b3.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── b4.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── g1.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── g2.imageset
│ │ │ │ │ └── Contents.json
│ │ │ │ ├── g3.imageset
│ │ │ │ │ ├── b@2x.png
│ │ │ │ │ ├── b@3x.png
│ │ │ │ │ └── Contents.json
│ │ │ │ └── g4.imageset
│ │ │ │ └── Contents.json
│ │ │ └── winner
│ │ │ ├── winner_bronze.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── winner_bronze@2x.png
│ │ │ │ └── winner_bronze@3x.png
│ │ │ ├── winner_gold.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── winner_gold@2x.png
│ │ │ │ └── winner_gold@3x.png
│ │ │ └── winner_silver.imageset
│ │ │ ├── Contents.json
│ │ │ ├── winner_silver@2x.png
│ │ │ └── winner_silver@3x.png
│ │ └── Images.xcassets.zip
│ └── Using
│ ├── appIcon
│ │ ├── Icon-29@2x.png
│ │ ├── Icon-29@3x.png
│ │ ├── Icon-29.png
│ │ ├── Icon-40@2x.png
│ │ ├── Icon-40@3x.png
│ │ ├── Icon-40.png
│ │ ├── Icon-60@2x.png
│ │ ├── Icon-60@3x.png
│ │ ├── Icon-76@2x.png
│ │ ├── Icon-76.png
│ │ └── icon.png
│ ├── language
│ │ ├── edit@2x.png
│ │ ├── edit@3x.png
│ │ ├── iOS@2x.png
│ │ ├── iOS@3x.png
│ │ ├── java@2x.png
│ │ └── java@3x.png
│ ├── logo
│ │ ├── errorLogo@2x.png
│ │ ├── errorLogo@3x.png
│ │ ├── loginAlreadyLogo@2x.png
│ │ ├── loginAlreadyLogo@3x.png
│ │ ├── loginDefaultLogo@2x.png
│ │ └── loginDefaultLogo@3x.png
│ ├── navigation
│ │ ├── back@2x.png
│ │ ├── back@3x.png
│ │ ├── collect_normal@2x.png
│ │ ├── collect_normal@3x.png
│ │ ├── collect_selected@2x.png
│ │ ├── collect_selected@3x.png
│ │ ├── quit@2x.png
│ │ └── quit@3x.png
│ ├── ranking
│ │ ├── ranking_polygon@2x.png
│ │ └── ranking_round@2x.png
│ └── tarBar
│ ├── collection@2x.png
│ ├── collection@3x.png
│ ├── individual@2x.png
│ ├── individual@3x.png
│ ├── PPQ@2x.png
│ ├── PPQ@3x.png
│ ├── practice@2x.png
│ └── practice@3x.png
└── __MACOSX
└── ApeCircle
├── Code
│ └── ApeCircle
│ ├── ApeCircle
│ │ ├── ApeCircle.xcdatamodeld
│ │ │ └── ApeCircle.xcdatamodel
│ │ ├── Assets.xcassets
│ │ │ └── ranking
│ │ │ └── ranking_polygon.imageset
│ │ ├── Collection
│ │ │ └── Controller
│ │ ├── Individual
│ │ │ └── Controller
│ │ ├── Main
│ │ │ ├── All
│ │ │ ├── Category
│ │ │ ├── Others
│ │ │ ├── SDK
│ │ │ │ ├── AVOSCloud
│ │ │ │ │ └── AVOSCloud.framework
│ │ │ │ │ ├── _CodeSignature
│ │ │ │ │ ├── Headers
│ │ │ │ │ ├── Modules
│ │ │ │ │ └── PrivateHeaders
│ │ │ │ ├── MJRefresh
│ │ │ │ │ ├── Base
│ │ │ │ │ ├── Custom
│ │ │ │ │ │ ├── Footer
│ │ │ │ │ │ │ ├── Auto
│ │ │ │ │ │ │ └── Back
│ │ │ │ │ │ └── Header
│ │ │ │ │ └── MJRefresh.bundle
│ │ │ │ └── SDWebImage
│ │ │ └── Temp
│ │ ├── PPQ
│ │ │ ├── Controller
│ │ │ ├── Model
│ │ │ └── View
│ │ └── Practice
│ │ ├── Controller
│ │ ├── Model
│ │ └── View
│ ├── ApeCircleTests
│ └── ApeCircleUITests
├── Documents
└── Materials
├── Original
│ └── Images.xcassets
│ ├── analysis
│ │ ├── ic_oval.imageset
│ │ ├── ic_star.imageset
│ │ ├── StarsBackground.imageset
│ │ └── StarsForeground.imageset
│ ├── AppIcon.appiconset
│ ├── guide
│ │ ├── guide_mask_4s.imageset
│ │ ├── guide_mask_5.imageset
│ │ ├── guide_mask_6.imageset
│ │ ├── guide_mask_ipad.imageset
│ │ ├── send_mask_4s.imageset
│ │ ├── send_mask_5.imageset
│ │ ├── send_mask_6.imageset
│ │ ├── step1_new.imageset
│ │ ├── step2_new.imageset
│ │ └── step3_new.imageset
│ ├── item
│ │ ├── all_analysis.imageset
│ │ ├── back.imageset
│ │ ├── btn_restart.imageset
│ │ ├── ic_notepad_l.imageset
│ │ ├── mark_E.imageset
│ │ ├── mark_F.imageset
│ │ ├── plus_L.imageset
│ │ ├── quit.imageset
│ │ └── wrong_analysis.imageset
│ ├── language
│ │ ├── iOS.imageset
│ │ └── java.imageset
│ ├── launchImage
│ │ ├── background.imageset
│ │ ├── keboard.imageset
│ │ ├── launch_desc.imageset
│ │ └── login_desc.imageset
│ ├── LaunchImage.launchimage
│ ├── login
│ │ ├── eye_hidden.imageset
│ │ └── eye_show.imageset
│ ├── logo
│ │ ├── errorCoder.imageset
│ │ ├── icon.imageset
│ │ ├── logo.imageset
│ │ ├── portrait_gray_click.imageset
│ │ ├── portrait_gray.imageset
│ │ └── portrait.imageset
│ ├── tabbar
│ │ ├── b1.imageset
│ │ ├── b2.imageset
│ │ ├── b3.imageset
│ │ ├── b4.imageset
│ │ ├── g1.imageset
│ │ ├── g2.imageset
│ │ ├── g3.imageset
│ │ └── g4.imageset
│ └── winner
│ ├── winner_bronze.imageset
│ ├── winner_gold.imageset
│ └── winner_silver.imageset
└── Using
├── appIcon
├── language
├── logo
├── navigation
├── ranking
└── tarBar
258 directories, 411 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论