diff --git a/README_TR.md b/README_TR.md index dedc750..23ea5cc 100644 --- a/README_TR.md +++ b/README_TR.md @@ -11,14 +11,14 @@ Carthage compatible Swift Package Manager compatible Swift - Xcode + Xcode MIT

# tl;dr -Swift'in `Codable` protokolüne bayılıyorsun ve her yerde kullanıyorsun, kim kullanmadı ki! İşte `Codable` objelerini saklamak ve istediğiniz zaman geri almak için kolay ve hafif bir yol! +Swift'in `Codable` protokolüne bayılıyorsun ve her yerde kullanıyorsun, kim kullanmadı ki! İşte `Codable` objelerini saklamak ve istediğiniz zaman geri almak için kolay ve hafif bir yol! ## Kurulum @@ -150,14 +150,14 @@ let usersCount = usersStore.objectsCount ``` -## +## [`SingleUserDefaultsStore`](https://github.com/omaralbeik/UserDefaultsStore/blob/master/Sources/SingleUserDefaultsStore.swift)'ı kullanarak tek bir nesneyi saklayabilirsiniz. Token ve giriş yapmış kullanıcı verisi gibi, ... ## Gereksinimler - iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+ -- Xcode 9+ -- Swift 4+ +- Xcode 10.0+ +- Swift 4.2+ ## Teşekkürler @@ -170,5 +170,3 @@ Swift Keypath'leri kullanarak daha doğal kod nasıl yazılır sorusuna cevap ve ## Lisans UserDefaultsStore MIT lisansı altında yayınlandı. Daha fazlası için [LICENSE](https://github.com/omaralbeik/UserDefaultsStore/blob/master/LICENSE) dosyasına bakabilirsiniz. - - diff --git a/Sources/Identifiable.swift b/Sources/Identifiable.swift index f5495a0..5086cd6 100644 --- a/Sources/Identifiable.swift +++ b/Sources/Identifiable.swift @@ -27,7 +27,7 @@ import Foundation public protocol Identifiable { /// ID type. - associatedtype ID: Hashable + associatedtype ID /// Id Key. static var idKey: WritableKeyPath { get } diff --git a/Sources/Info.plist b/Sources/Info.plist index 0eb186c..4bbc96d 100755 --- a/Sources/Info.plist +++ b/Sources/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 1.2.2 + 1.3 CFBundleSignature ???? CFBundleVersion diff --git a/Sources/SingleUserDefaultsStore.swift b/Sources/SingleUserDefaultsStore.swift index 9f9863c..892b86c 100644 --- a/Sources/SingleUserDefaultsStore.swift +++ b/Sources/SingleUserDefaultsStore.swift @@ -69,6 +69,7 @@ open class SingleUserDefaultsStore { /// Delete object from store. _O(1)_ public func delete() { + store.set(nil, forKey: key) store.removeSuite(named: uniqueIdentifier) } diff --git a/Sources/UserDefaultsStore.swift b/Sources/UserDefaultsStore.swift index 4d73123..1b788fa 100644 --- a/Sources/UserDefaultsStore.swift +++ b/Sources/UserDefaultsStore.swift @@ -186,7 +186,7 @@ private extension UserDefaultsStore { /// - Parameter object: object. /// - Returns: UserDefaults key for given object. func key(for object: T) -> String { - return "\(uniqueIdentifier)-\(object[keyPath: T.idKey].hashValue)" + return "\(uniqueIdentifier)-\(object[keyPath: T.idKey])" } /// store key for object by its id. @@ -194,7 +194,7 @@ private extension UserDefaultsStore { /// - Parameter id: object id. /// - Returns: UserDefaults key for given id. func key(for id: T.ID) -> String { - return "\(uniqueIdentifier)-\(id.hashValue)" + return "\(uniqueIdentifier)-\(id)" } /// Check if a UserDefaults key is an object key. diff --git a/UserDefaultsStore.podspec b/UserDefaultsStore.podspec index 7c4a589..aa55082 100644 --- a/UserDefaultsStore.podspec +++ b/UserDefaultsStore.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "UserDefaultsStore" - s.version = "1.2.2" + s.version = "1.3" s.summary = "Why not use UserDefaults to store Codable objects 😉" s.description = <<-DESC You love Swift"s Codable protocol and use it everywhere, here is an easy and very light way to store - reasonable amount 😅 - of Codable objects, in a couple lines of code.