In meinem iOS
Xcode8
Projekt resultierende Swift
mit, ich meine ein fetch
der Durchführung Core-Data
:Fetch Core-Daten werden in doppelte Elemente
func searchFoods() {
let context: NSManagedObjectContext = appDel.managedObjectContext
let request = NSFetchRequest<NSFetchRequestResult>(entityName: "Foods")
print("Searching Database for \(searchVariable)...")
var subPredicates : [NSPredicate] = []
let codeSearch = NSPredicate(format: "codeText contains[c] %@", "\(searchVariable)")
subPredicates.append(codeSearch)
request.predicate = NSCompoundPredicate(orPredicateWithSubpredicates: subPredicates)
request.returnsObjectsAsFaults = false
do {
let results = try context.fetch(request)
if results.count > 0 {
for result in results as! [NSManagedObject] {
if let item = result.value(forKey: "title") as? String {
// Maybe put a loop of some kind to only append the found item count??
searchArray.append(item)
myTableView.reloadData()
}
}
}
} catch {
print("Fetch failed...")
}
}
jedoch meine searchArray
, dass ein [String]
der Suchergebnisse ist erstellt viele Duplikate, die ich kenne, sind nicht da; es listet sie 2 oder 3 mal auf. Ich kann nicht herausfinden, wie man das Anhängen auf den Ergebniszählungsbetrag beschränkt. Wenn ich Obst suche, kann es eine array
wie bananas, strawberries, peaches, oranges, bananas, strawberries, peaches, oranges
usw. zurückgeben und wiederholen. Kann mir bitte jemand helfen?
Die offensichtliche Frage an diesem Punkt ist, woher wissen Sie, dass sie nicht wirklich da sind? –
Da ich diese App teste, entferne ich alle vorherigen Daten und lade jedes Mal, wenn ich die App starte, neue Daten in CoreData. Wieder teste ich an dieser Stelle. Going live wird es nicht so sein. – ChallengerGuy