{"id":13338748,"url":"https://github.com/divadretlaw/UserDefaults","last_synced_at":"2025-03-11T10:31:52.495Z","repository":{"id":91579099,"uuid":"46376498","full_name":"divadretlaw/UserDefaults","owner":"divadretlaw","description":"🗂 UserDefaults extension framework","archived":true,"fork":false,"pushed_at":"2018-06-10T11:05:06.000Z","size":440,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-23T22:18:58.609Z","etag":null,"topics":["carthage","framework","ios","macos","swift","tvos","userdefaults","watchos"],"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/divadretlaw.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-11-17T21:26:49.000Z","updated_at":"2023-03-17T12:04:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"0ddbd6c2-fda6-42e2-bb48-255e0eddd050","html_url":"https://github.com/divadretlaw/UserDefaults","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divadretlaw%2FUserDefaults","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divadretlaw%2FUserDefaults/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divadretlaw%2FUserDefaults/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/divadretlaw%2FUserDefaults/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/divadretlaw","download_url":"https://codeload.github.com/divadretlaw/UserDefaults/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243015443,"owners_count":20222082,"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":["carthage","framework","ios","macos","swift","tvos","userdefaults","watchos"],"created_at":"2024-07-29T19:17:09.052Z","updated_at":"2025-03-11T10:31:52.482Z","avatar_url":"https://github.com/divadretlaw.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"![framework](https://user-images.githubusercontent.com/6899256/35834740-56972364-0ad7-11e8-9374-0f7d523b2367.png)\n\n# UserDefaults [![Carthage](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat-square)](https://github.com/Carthage/Carthage) [![Swift](https://img.shields.io/badge/swift-4.0-orange.svg?style=flat-square)](https://swift.org) [![License](https://img.shields.io/github/license/divadretlaw/userdefaults.svg?style=flat-square)](LICENSE)\n\n[![Platforms](https://img.shields.io/badge/Platforms-iOS%20|%20macOS%20|%20watchOS%20|%20tvOS-blue.svg?style=flat-square)](https://github.com/divadretlaw/UserDefaults)\n\n\n### Build Status\n\n|iOS|macOS|watchOS|tvOS|\n|:-:|:-:|:-:|:-:|\n|[![](https://travis-matrix-badges.herokuapp.com/repos/divadretlaw/UserDefaults/branches/master/2)](https://travis-ci.org/divadretlaw/UserDefaults)|[![](https://travis-matrix-badges.herokuapp.com/repos/divadretlaw/UserDefaults/branches/master/1)](https://travis-ci.org/divadretlaw/UserDefaults)|[![](https://travis-matrix-badges.herokuapp.com/repos/divadretlaw/UserDefaults/branches/master/3)](https://travis-ci.org/divadretlaw/UserDefaults)|[![](https://travis-matrix-badges.herokuapp.com/repos/divadretlaw/UserDefaults/branches/master/4)](https://travis-ci.org/divadretlaw/UserDefaults)|\n\n## Usage\n\nDefine Static Keys for easy access to data stored in UserDefaults\n\n```swift\nextension DefaultsKeys {\n  static let key = DefaultsKey\u003cString\u003e(\"key\")\n  static let number = DefaultsKey\u003cDouble\u003e(\"number\")\n  static let condition = DefaultsKey\u003cBool\u003e(\"condition\")\n  // eg. struct SomeCodable : Codeable { ... }\n  static let codeable = DefaultsKey\u003cSomeCodable\u003e(\"somecodeable\")\n}\n```\n\n### Write to UserDefaults\n\nStatic keys\n\n```swift\nUserDefaults.standard[.key] = \"Value\"\nUserDefaults.standard[.number] = -3.4\nUserDefaults.standard[.condition] = true\nUserDefaults.standard[.codeable] = SomeCodable()\n```\n\nString Keys\n\n```swift\nUserDefaults.standard[\"key\"] = \"Value\"\nUserDefaults.standard[\"number\"] = -3.4\nUserDefaults.standard[\"condition\"] = true\n```\n\n### Read from UserDefaults\n\nStatic Keys\n\n```swift\nvar string = UserDefaults.standard[.key]\n// string = Optional\u003cString\u003e\n\nif UserDefaults.standard[.condition] {\n  // true\n}\n\nlet someCodable: SomeCodable? = UserDefaults.standard[.codeable]\n// someCodable = Optional\u003cSomeCodable\u003e\n```\n\nString Keys\n\n```swift\nlet object = UserDefaults.standard[\"key\"]\n// object = Optional\u003cAny\u003e\n\nlet string = UserDefaults.standard.string(\"key\")\n// string = Optional\u003cString\u003e\n```\n\n### Alter UserDefaults\n\nStatic Keys\n\n```swift\nUserDefaults.standard[.key] += \". Other value.\"\n\nUserDefaults.standard[.number] *= 1.2\n```\n\nString Keys\n\n```swift\nUserDefaults.standard[\"key\"] = UserDefaults.standard.string(forKey: \"key\") ?? \"\" + \". Other value.\"\n\nUserDefaults.standard[\"number\"] = UserDefaults.standard.double(\"number\") * 1.2\n```\n\n## Installation\n\nUserDefaults is available through [Carthage](https://github.com/Carthage/Carthage). To install just write into your Cartfile:\n \n```\ngithub \"divadretlaw/UserDefaults\"\n```\n\n\n## License\n\nSee [LICENSE](LICENSE)\n\nCopyright © 2018 David Walter \\(www.davidwalter.at)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivadretlaw%2FUserDefaults","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdivadretlaw%2FUserDefaults","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdivadretlaw%2FUserDefaults/lists"}