Use hash(into…) instead of a hashValue instance variable.
This commit is contained in:
parent
f5637dc353
commit
142774f5ae
|
@ -27,9 +27,6 @@ public struct Article: Hashable {
|
|||
public let authors: Set<Author>?
|
||||
public let attachments: Set<Attachment>?
|
||||
public let status: ArticleStatus
|
||||
public var hashValue: Int {
|
||||
return articleID.hashValue
|
||||
}
|
||||
|
||||
public init(accountID: String, articleID: String?, feedID: String, uniqueID: String, title: String?, contentHTML: String?, contentText: String?, url: String?, externalURL: String?, summary: String?, imageURL: String?, bannerImageURL: String?, datePublished: Date?, dateModified: Date?, authors: Set<Author>?, attachments: Set<Attachment>?, status: ArticleStatus) {
|
||||
|
||||
|
@ -59,20 +56,23 @@ public struct Article: Hashable {
|
|||
}
|
||||
|
||||
public static func calculatedArticleID(feedID: String, uniqueID: String) -> String {
|
||||
|
||||
return databaseIDWithString("\(feedID) \(uniqueID)")
|
||||
}
|
||||
|
||||
// MARK: - Hashable
|
||||
|
||||
public func hash(into hasher: inout Hasher) {
|
||||
hasher.combine(articleID)
|
||||
}
|
||||
}
|
||||
|
||||
public extension Set where Element == Article {
|
||||
|
||||
public func articleIDs() -> Set<String> {
|
||||
|
||||
return Set<String>(map { $0.articleID })
|
||||
}
|
||||
|
||||
public func unreadArticles() -> Set<Article> {
|
||||
|
||||
let articles = self.filter { !$0.status.read }
|
||||
return Set(articles)
|
||||
}
|
||||
|
@ -81,7 +81,6 @@ public extension Set where Element == Article {
|
|||
public extension Array where Element == Article {
|
||||
|
||||
public func articleIDs() -> [String] {
|
||||
|
||||
return map { $0.articleID }
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue