{"id":18683799,"url":"https://github.com/efprefix/efstorage","last_synced_at":"2025-10-27T22:09:24.066Z","repository":{"id":56909335,"uuid":"201008848","full_name":"EFPrefix/EFStorage","owner":"EFPrefix","description":"Store anything anywhere with ease. Documentation:","archived":false,"fork":false,"pushed_at":"2023-03-29T13:45:48.000Z","size":471,"stargazers_count":9,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-04T23:43:53.321Z","etag":null,"topics":["dynamicmemberlookup","hacktoberfest","keychain","keychain-access","keychain-wrapper","property-wrapper","propertywrapper","user-defaults","userdefaults"],"latest_commit_sha":null,"homepage":"https://github.com/EFPrefix/EFStorage/wiki","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/EFPrefix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2019-08-07T08:37:55.000Z","updated_at":"2023-03-29T22:22:04.000Z","dependencies_parsed_at":"2024-01-23T21:36:28.121Z","dependency_job_id":null,"html_url":"https://github.com/EFPrefix/EFStorage","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EFPrefix%2FEFStorage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EFPrefix%2FEFStorage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EFPrefix%2FEFStorage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EFPrefix%2FEFStorage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EFPrefix","download_url":"https://codeload.github.com/EFPrefix/EFStorage/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248517233,"owners_count":21117419,"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":["dynamicmemberlookup","hacktoberfest","keychain","keychain-access","keychain-wrapper","property-wrapper","propertywrapper","user-defaults","userdefaults"],"created_at":"2024-11-07T10:15:44.635Z","updated_at":"2025-10-27T22:09:23.995Z","avatar_url":"https://github.com/EFPrefix.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EFStorage\n\nAn easy way to store anything anywhere -- UserDefaults, KeychainAccess, YYCache, you name it!\n\n```swift\n@EFStorageUserDefaults(forKey: \"username\")\nvar username: String = User.Name.random()\n\n// Or, if you don't like constraints,\nUserDefaults.efStorage.username = \"OwO\"\n```\n\n## Usage\n\n* [WARNING](https://github.com/EFPrefix/EFStorage/wiki), and Table of Contents | **注意事项**\n* [Adding `EFStorage` to your project](https://github.com/EFPrefix/EFStorage/wiki/Integration) | [集成 `EFStorage`](https://github.com/EFPrefix/EFStorage/wiki/集成)\n  * [Swift Package Manager](https://github.com/EFPrefix/EFStorage/wiki/Integration#swift-package-manager) | [中文](https://github.com/EFPrefix/EFStorage/wiki/集成#swift-package-manager)\n  * [Cocoapods](https://github.com/EFPrefix/EFStorage/wiki/Integration#cocoapods) | [中文](https://github.com/EFPrefix/EFStorage/wiki/集成#cocoapods)\n* [Using `EFStorage`](https://github.com/EFPrefix/EFStorage/wiki/Usage) | [使用 `EFStorage`](https://github.com/EFPrefix/EFStorage/wiki/用法)\n  * [@propertyWrapper](https://github.com/EFPrefix/EFStorage/wiki/Usage#as-propertywrapper) | [属性包装器](https://github.com/EFPrefix/EFStorage/wiki/用法#propertywrapper-属性包装器)\n  * [@dynamicMemberLookup](https://github.com/EFPrefix/EFStorage/wiki/Usage#through-dynamicmemberlookup) | [动态成员查找](https://github.com/EFPrefix/EFStorage/wiki/用法#dynamicmemberlookup-动态成员查找)\n  * [non-standard/default/shared storage](https://github.com/EFPrefix/EFStorage/wiki/Usage#non-default-container) | [非默认容器](https://github.com/EFPrefix/EFStorage/wiki/用法#放在其他什么地方吧)\n  * [container/content type mix \u0026 match](https://github.com/EFPrefix/EFStorage/wiki/Usage#supported-containers) | [类型结合与转换](https://github.com/EFPrefix/EFStorage/wiki/用法#但是)\n  * [storing custom types](https://github.com/EFPrefix/EFStorage/wiki/Usage#more-storables) | [存储更多类型](https://github.com/EFPrefix/EFStorage/wiki/用法#能放点其他的吗太能了)\n  * [error handling](https://github.com/EFPrefix/EFStorage/wiki/Usage#assertion-failures) | [异常处理](https://github.com/EFPrefix/EFStorage/wiki/用法#我的程序炸了)\n* [Expand `EFStorage` to Support Your Data Store](https://github.com/EFPrefix/EFStorage/wiki/Extend) | [让 `EFStorage` 支持新的存储方案](https://github.com/EFPrefix/EFStorage/wiki/扩展)\n\n## License\n\nMIT License.\n\nIcons of the demo projects in `CocoaPods/` folder are from [萌娘百科 - 四次元ポケット](https://zh.moegirl.org/zh-hans/四次元口袋). We are using it because in the hope that EFStorage can be like Doraemon's 4D Pocket to you.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fefprefix%2Fefstorage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fefprefix%2Fefstorage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fefprefix%2Fefstorage/lists"}