2016-08-06 3 views
0
 var resultsOfFetch = [AnyObject]() 
     if fetchRequest != nil && (textField.text!.characters.count > 4){ 
      do{ 
       let results = try privateMOC.executeFetchRequest(fetchRequest!) 
       if results.count > 0{ 
        resultsOfFetch = results 
       } 
      }catch let error as NSError { 
       print("Error: \(error) " + 
        "description \(error.description)") 
      } 
     } 

     var itemNamesArray = [String]() 
     switch textField{ 
     case self.stampNameField: 
      for result in resultsOfFetch as! [Stamp]{ 
       itemNamesArray.append(result.itemName) 
      } 

Ich versuche zu retten, die itemName alles zurück holen Elemente in einem array zu bekommen. Gibt es einen besseren Weg, dies zu tun? Ich möchte nicht jedes Element im Ergebnisarray iterieren und dann seinen Elementnamen nehmen und dann zu itemNamesArray hinzufügen, weil es Zeit braucht und sehr ineffizient ist. Gibt es einen schnelleren Weg?Gibt es eine Möglichkeit String-Array von Array von NSManagedObject für spezifische Attribute

+0

tun Sie nur ein Attribut 'itemName' holen wollen? – Khundragpan

Antwort

1

Sie map Verschluss für die

können
itemNamesArray = (resultsOfFetch as! [Stamp]).map {$0.itemName} 
Verwandte Themen