2017-01-05 1 views
0

J'émigre mon code de Swift 2.3 à Swift 3. Avant cela fonctionnait bien après la migration, je suis face à ne pas attendre le type de résultat contextuelle NSArray Voici mon codeswift3: pas le type de résultat contextuel prévu NSArray

func setConfirmedBookingsAfterSorting() { 
     if let bookings = ContentService.sharedInstance.confirmedBookings { 
      self.confirmedBookings = (bookings as NSArray).sortedArray(using: [NSSortDescriptor(key: "startTime", ascending: true)]) 
     } 
    } 
+1

Pourquoi ne pas simplement utiliser le tri natif de Swift? 'bookings.sort {$ 0.startTime <$ 1.startTime}' – Alexander

Répondre

0
((bookings as NSArray).sortedArray(using: [NSSortDescriptor(key: "startTime", ascending: true)])) as NSArray 

essayez ceci.

+0

Cela semble décidément plus compliqué que [la suggestion d'Alexander] (https://stackoverflow.com/questions/41476693/swift3-not-the-expected-contextual-result- type-nsarray # comment70159404_41476693): pouvez-vous décrire les avantages? – greybeard

+0

Pourriez-vous ajouter une explication de comment cela fonctionne? – brimstone