Use new hash-into function instead of calculating hashValue. WIP on #402.

This commit is contained in:
Brent Simmons 2018-08-25 11:54:58 -07:00
parent 6d49cd4620
commit cfb3bd706e
3 changed files with 18 additions and 6 deletions

View File

@ -47,7 +47,6 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container,
public let accountID: String
public let type: AccountType
public var nameForDisplay = ""
public let hashValue: Int
public var children = [AnyObject]()
var urlToFeedDictionary = [String: Feed]()
var idToFeedDictionary = [String: Feed]()
@ -106,7 +105,6 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container,
self.type = type
self.settingsFile = settingsFile
self.dataFolder = dataFolder
self.hashValue = accountID.hashValue
let databaseFilePath = (dataFolder as NSString).appendingPathComponent("DB.sqlite3")
self.database = ArticlesDatabase(databaseFilePath: databaseFilePath, accountID: accountID)
@ -479,6 +477,12 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container,
}
}
// MARK: - Hashable
public func hash(into hasher: inout Hasher) {
hasher.combine(accountID)
}
// MARK: - Equatable
public class func ==(lhs: Account, rhs: Account) -> Bool {

View File

@ -30,7 +30,6 @@ public final class Feed: DisplayNameProvider, UnreadCountProvider, Hashable {
public var conditionalGetInfo: HTTPConditionalGetInfo?
public var contentHash: String?
public let hashValue: Int
// MARK: - DisplayNameProvider
@ -61,7 +60,6 @@ public final class Feed: DisplayNameProvider, UnreadCountProvider, Hashable {
self.accountID = accountID
self.url = url
self.feedID = feedID
self.hashValue = feedID.hashValue
}
// MARK: - Disk Dictionary
@ -162,6 +160,12 @@ public final class Feed: DisplayNameProvider, UnreadCountProvider, Hashable {
contentHash = nil
}
// MARK: - Hashable
public func hash(into hasher: inout Hasher) {
hasher.combine(feedID)
}
// MARK: - Equatable
public class func ==(lhs: Feed, rhs: Feed) -> Bool {

View File

@ -24,7 +24,6 @@ public final class Folder: DisplayNameProvider, Container, UnreadCountProvider,
static let untitledName = NSLocalizedString("Untitled ƒ", comment: "Folder name")
public let folderID: Int // not saved: per-run only
static var incrementingID = 0
public let hashValue: Int
// MARK: - DisplayNameProvider
@ -52,7 +51,6 @@ public final class Folder: DisplayNameProvider, Container, UnreadCountProvider,
let folderID = Folder.incrementingID
Folder.incrementingID += 1
self.folderID = folderID
self.hashValue = folderID
NotificationCenter.default.addObserver(self, selector: #selector(unreadCountDidChange(_:)), name: .UnreadCountDidChange, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(childrenDidChange(_:)), name: .ChildrenDidChange, object: self)
@ -142,6 +140,12 @@ public final class Folder: DisplayNameProvider, Container, UnreadCountProvider,
updateUnreadCount()
}
// MARK: - Hashable
public func hash(into hasher: inout Hasher) {
hasher.combine(folderID)
}
// MARK: - Equatable
static public func ==(lhs: Folder, rhs: Folder) -> Bool {