{"id":17463868,"url":"https://github.com/linxunfeng/lxfprotocoltool","last_synced_at":"2025-10-16T15:45:55.252Z","repository":{"id":60119138,"uuid":"128405943","full_name":"LinXunFeng/LXFProtocolTool","owner":"LinXunFeng","description":"由Swift中协议方式实现功能的实用工具库【Refreshable、EmptyDataSetable 支持 Rx 】","archived":false,"fork":false,"pushed_at":"2024-05-29T07:05:32.000Z","size":4246,"stargazers_count":117,"open_issues_count":0,"forks_count":19,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-06T08:34:27.505Z","etag":null,"topics":["associate","empty","emptydataset","fullscreen","protocol","refresh","rxswift","screen","swift","xib"],"latest_commit_sha":null,"homepage":"https://fullstackaction.com","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LinXunFeng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"ko_fi":"linxunfeng"}},"created_at":"2018-04-06T14:31:58.000Z","updated_at":"2024-10-17T08:14:31.000Z","dependencies_parsed_at":"2024-05-29T08:28:46.985Z","dependency_job_id":"dd1f01bb-acce-4f72-934b-1f11cf8c496d","html_url":"https://github.com/LinXunFeng/LXFProtocolTool","commit_stats":{"total_commits":146,"total_committers":4,"mean_commits":36.5,"dds":0.07534246575342463,"last_synced_commit":"d9e911006da6642d1b9c2093b1577cd7c2eeeac6"},"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinXunFeng%2FLXFProtocolTool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinXunFeng%2FLXFProtocolTool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinXunFeng%2FLXFProtocolTool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LinXunFeng%2FLXFProtocolTool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LinXunFeng","download_url":"https://codeload.github.com/LinXunFeng/LXFProtocolTool/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230394228,"owners_count":18218707,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["associate","empty","emptydataset","fullscreen","protocol","refresh","rxswift","screen","swift","xib"],"created_at":"2024-10-18T10:44:00.999Z","updated_at":"2025-10-16T15:45:55.145Z","avatar_url":"https://github.com/LinXunFeng.png","language":"Swift","readme":"# LXFProtocolTool\n\n![Author](https://img.shields.io/badge/author-LinXunFeng-blue.svg?style=flat-square)\n[![Build Status](https://travis-ci.org/LinXunFeng/LXFProtocolTool.svg?branch=master)](https://travis-ci.org/LinXunFeng/LXFProtocolTool) \n[![Version](https://img.shields.io/cocoapods/v/LXFProtocolTool.svg?style=flat)](http://cocoapods.org/pods/LXFProtocolTool)\n[![License](https://img.shields.io/cocoapods/l/LXFProtocolTool.svg?style=flat)](http://cocoapods.org/pods/LXFProtocolTool)\n[![Platform](https://img.shields.io/cocoapods/p/LXFProtocolTool.svg?style=flat)](http://cocoapods.org/pods/LXFProtocolTool)\n![visitors](https://visitor-badge.glitch.me/badge?page_id=LinXunFeng.LXFProtocolTool)\n\n通过协议的方式来方便快捷地实现一些的实用功能，目前功能不多，往后会逐渐增加，喜欢的来个Star吧 : )\n\n对Swift协议不熟悉的同学可以阅读以下两篇文章做下了解:\n\n\n\n[iOS - Swift 面向协议编程（一）](https://juejin.im/post/59ee05346fb9a0452845a7e8) -- [【个人博客】](http://linxunfeng.top/2017/09/12/iOS-Swift-%E9%9D%A2%E5%90%91%E5%8D%8F%E8%AE%AE%E7%BC%96%E7%A8%8B%EF%BC%88%E4%B8%80%EF%BC%89/)\n[【掘金】](https://juejin.im/post/59ee05346fb9a0452845a7e8)\n[【全栈行动】](https://fullstackaction.com/pages/997f68/)\n\n[iOS - Swift 面向协议编程（二）](https://juejin.im/post/59ee05846fb9a0451329dd52) -- [【个人博客】](http://linxunfeng.top/2017/09/12/iOS-Swift-%E9%9D%A2%E5%90%91%E5%8D%8F%E8%AE%AE%E7%BC%96%E7%A8%8B%EF%BC%88%E4%BA%8C%EF%BC%89/)\n[【掘金】](https://juejin.im/post/59ee05346fb9a0452845a7e8)\n[【全栈行动】](https://fullstackaction.com/pages/fb0480/)\n\n\n\n## CocoaPods\n\nLXFProtocolTool 支持CocoaPods:\n\n- 完全安装\n```ruby\npod 'LXFProtocolTool'\n```\n\n当然，也可以根据自己的需要安装指定子库\n\n- Xib加载\n```ruby\npod 'LXFProtocolTool/LXFNibloadable'\n```\n\n- 空白视图\n```ruby\npod 'LXFProtocolTool/EmptyDataSetable'\n```\n\n- 刷新控件\n\n```ruby\npod 'LXFProtocolTool/Refreshable'\n```\n\n- 关联属性\n\n```ruby\npod 'LXFProtocolTool/AssociatedObjectStore'\n```\n\n- 全屏\n\n```ruby\npod 'LXFProtocolTool/FullScreenable'\n```\n\n\n\n## Usage\n\n\u003e 具体功能与使用请跳转 -- [Wiki首页](https://github.com/LinXunFeng/LXFProtocolTool/wiki)\n\n### Wiki目录\n\n- [LXFNibloadable](https://github.com/LinXunFeng/LXFProtocolTool/wiki/LXFNibloadable)\n- [EmptyDataSetable](https://github.com/LinXunFeng/LXFProtocolTool/wiki/EmptyDataSetable)\n- [Refreshable](https://github.com/LinXunFeng/LXFProtocolTool/wiki/Refreshable)\n- [FullScreenable](https://github.com/LinXunFeng/LXFProtocolTool/wiki/FullScreenable)\n\n\n\n## Article\n\n- [iOS 面向协议方式封装空白页功能](https://juejin.im/post/5ac8a2f4f265da23870f1578)\n\n- [RxSwift + MJRefresh 打造自动处理刷新控件状态](https://juejin.im/post/59ee1e215188255f5a473b89)\n\n- [iOS 面向协议封装全屏旋转功能](https://juejin.im/post/5b9cd4596fb9a05d09654244)\n\n\n\n## License\n\nLXFProtocolTool is available under the MIT license. See the LICENSE file for more info.\n\n\n\n## Author\n\n- LinXunFeng\n- email: [linxunfeng@yeah.net](mailto:linxunfeng@yeah.net)\n- Blogs: [全栈行动](https://fullstackaction.com/) | [LinXunFeng‘s Blog](http://linxunfeng.top/)  | [掘金](https://juejin.im/user/58f8065e61ff4b006646c72d/posts) \n\n\n\u003cimg height=\"267.5\" width=\"481.5\" src=\"https://github.com/LinXunFeng/LinXunFeng/raw/master/static/img/FSAQR.png\" /\u003e\n\n\n## Other\n\n| \u003cimg width=\"252\" height=\"294\" src=\"https://github.com/LinXunFeng/site/raw/master/source/images/others/pay/alipay_tip.png\" /\u003e | \u003cimg width=\"252\" height=\"294\"  src=\"https://github.com/LinXunFeng/site/raw/master/source/images/others/pay/wechat_tip.png\" /\u003e |\n| :----------------------------------------------------------: | :----------------------------------------------------------: |\n|                                                              |                                                              |\n\n","funding_links":["https://ko-fi.com/linxunfeng"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinxunfeng%2Flxfprotocoltool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinxunfeng%2Flxfprotocoltool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinxunfeng%2Flxfprotocoltool/lists"}