2016-09-30 1 views
0

J'ai un objet de données personnalisé avec une propriété NSNumber. Comment trier les messages d'un tableau dans un autre tableau en utilisant la propriété NSNumber?Comment trier des objets de données personnalisés dans un tableau vide par propriété NSNumber -Swift2 iOS

J'ai essayé, mais je reçois une erreur

Binary operator '<' cannot be applied to two 'NSNumber?' operands 

emptyArray = messagesArray.sort{$0.time < $1.time} 

ascendant ou descendant n'a pas d'importance

class Message{ 
var toMessage: String? 
var time: NSNumber? 
} 

var messagesArray[Message]() 

let message1 = Message() 
message1.toMessage = "Bonjour" 
message1.time = 123 

let message2 = Message() 
message1.toMessage = "Hola" 
message1.time = 456 

let message3 = Message() 
message1.toMessage = "Hello" 
message1.time = 789 

messagesArray.append(message1) 
messagesArray.append(message2) 
messagesArray.append(message3) 

//I need to get the elements from messagesArray into emptyArray sorting by NSNumber time property 
var emptyArray = [Message]() 
+0

Vous ne triez dans le nouveau tableau. Copiez simplement toutes les données, puis triez-les. – Paulw11

+0

@ Paulw11 Je ne suis pas sûr de ce que cela signifie mais j'ai trouvé la réponse –

Répondre

0

je avais besoin d'utiliser le intValue

emptyArray = messagesArray.sort{$0.time.intValue < $1.time.intValue}