From c5ae068f12cf201ec5550c3e0d9f41a01eb49d79 Mon Sep 17 00:00:00 2001 From: Sasha Heinen Date: Thu, 15 Mar 2018 11:21:15 -0600 Subject: [PATCH] do better string comparisons for filtering (#159) --- lockbox-ios/Presenter/ItemListPresenter.swift | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lockbox-ios/Presenter/ItemListPresenter.swift b/lockbox-ios/Presenter/ItemListPresenter.swift index 1f8ef8840..8cbd802da 100644 --- a/lockbox-ios/Presenter/ItemListPresenter.swift +++ b/lockbox-ios/Presenter/ItemListPresenter.swift @@ -74,11 +74,10 @@ class ItemListPresenter { return latest.items } - let latestText = latest.text.lowercased() return latest.items.filter { item -> Bool in - return item.entry.username?.lowercased().contains(latestText) ?? false - || item.origins.first?.lowercased().contains(latestText) ?? false - || item.title?.lowercased().contains(latestText) ?? false + return [item.entry.username, item.origins.first, item.title] + .flatMap { $0?.localizedCaseInsensitiveContains(latest.text) ?? false } + .reduce(false) { $0 || $1 } } } .map { items -> [ItemSectionModel] in