{"id":13526900,"url":"https://github.com/GoodRequest/GoodUIKit","last_synced_at":"2025-04-01T08:30:33.473Z","repository":{"id":81791970,"uuid":"599972384","full_name":"GoodRequest/GoodUIKit","owner":"GoodRequest","description":"📑 GoodUIKit is a UIKit extensions library filled with reusable UI snippets for faster and more efficient iOS development. Boost productivity and streamline your workflow with ready-to-use UI components.","archived":false,"fork":false,"pushed_at":"2024-03-25T13:27:04.000Z","size":62,"stargazers_count":30,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-22T12:30:47.456Z","etag":null,"topics":["ios","library","swift","uikit"],"latest_commit_sha":null,"homepage":"","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/GoodRequest.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2023-02-10T09:42:12.000Z","updated_at":"2024-08-01T06:50:57.317Z","dependencies_parsed_at":"2024-01-07T21:52:44.136Z","dependency_job_id":"68ca3194-1f3a-4332-8038-f0d1c06761f8","html_url":"https://github.com/GoodRequest/GoodUIKit","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodRequest%2FGoodUIKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodRequest%2FGoodUIKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodRequest%2FGoodUIKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoodRequest%2FGoodUIKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GoodRequest","download_url":"https://codeload.github.com/GoodRequest/GoodUIKit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246607079,"owners_count":20804513,"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":["ios","library","swift","uikit"],"created_at":"2024-08-01T06:01:37.086Z","updated_at":"2025-04-01T08:30:33.036Z","avatar_url":"https://github.com/GoodRequest.png","language":"Swift","funding_links":[],"categories":["Libs"],"sub_categories":["Utility"],"readme":"# GoodUIKit\n\n[![iOS Version](https://img.shields.io/badge/iOS_Version-\u003e=_12.0-brightgreen?logo=apple\u0026logoColor=green)]()\n[![Swift Version](https://img.shields.io/badge/Swift_Version-5.5-green?logo=swift)](https://docs.swift.org/swift-book/)\n[![Supported devices](https://img.shields.io/badge/Supported_Devices-iPhone/iPad-green)]()\n[![Contains Test](https://img.shields.io/badge/Tests-NO-blue)]()\n[![Dependency Manager](https://img.shields.io/badge/Dependency_Manager-SPM-red)](#swiftpackagemanager)\n\nGood UIKit is a collection of useful and frequently used Swift UIKit extensions for iOS development. \nThese extensions aim to simplify and streamline common tasks, making it easier for developers \nto write clean and concise code.\n\n## Instalation\n\n### Swift Package Manager\n\nCreate a `Package.swift` file and add the package dependency into the dependencies list.\nOr to integrate without package.swift add it through the Xcode add package interface.\n\n[//]: # (Don't forget to add the version once available)\n```swift\n\nimport PackageDescription\n\nlet package = Package(\n    name: \"SampleProject\",\n    dependencies: [\n        .Package(url: \"https://github.com/GoodRequest/GoodUIKit\" from: \"addVersion\")\n    ]\n)\n\n```\n\n## Usage\n\nUse our extensions with `.gr` just like this:\n\n```swift\nmyCollectionView.gr.registerCell(fromClass: MyCollectionViewCell.self)\n\nmyTableView.gr.registerHeaderFooterView(fromClass: MyTableViewHeader.self)\n```\n### UIKit Combine\nYou can define Publisher for your button or other user interactive elements\n\n```swift\n\nprivate(set) lazy var buttonPublisher = myButton.gr.publisher(for: .touchUpInside)\n\n```\nthen subcribe to it and handle the actions whenever user interacts with the element\n\n```swift\n\nbuttonPublisher\n    .sink { [weak self] _ in\n        // do actions\n    }\n    .store(in: \u0026cancellables)\n    \n```\n\n## License\nGoodUIKit is released under the MIT license. See [LICENSE](LICENSE.md) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGoodRequest%2FGoodUIKit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGoodRequest%2FGoodUIKit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGoodRequest%2FGoodUIKit/lists"}