NSSortDescriptor avaliando números ascendentes (Swift)

App hascontentid entrando como uma sequência numérica de um arquivo json:

let contentid: AnyObject! = jsonFeed["contentid"]

let stream:Dictionary = [
   "contentId": contentid as! String,
]

Mais tarde, é salvo em [NSManagedObject] com:

var articles = [NSManagedObject]()

let entity =  NSEntityDescription.entityForName("Article", inManagedObjectContext: managedContext)
let article = NSManagedObject(entity: entity!, insertIntoManagedObjectContext: managedContext)

article.setValue(stream["contentId"], forKey: "contentid")

articles.append(article)

Por fim, uso o NSSortDescriptor para que os Dados Principais retornem entradas em ordem crescente numérica:

let sort = NSSortDescriptor(key: "contentid", ascending: true)
fetchRequest.sortDescriptors = [sort]

Mas entradas6 - 10 são retornados como:10, 6, 7, 8, 9. Qual seria o método correto de avaliar esses números corretamente usando o NSSortDescriptor?

ATUALIZAR:

Para a versão Swift, consulte a resposta de Volker abaixo. Acabei usando:

let sort = NSSortDescriptor(key: "contentid", ascending: true, selector: "localizedStandardCompare:")

e avaliou as seqüências numeradas como números inteiros verdadeiros.

ATUALIZAÇÃO: Swift 2:

A sintaxe do seletor foi alterada e não aceita mais ponteiros objc. Obrigado user1828845.

let sort = NSSortDescriptor(key: "contentid", ascending: true, selector: #selector(NSString.localizedStandardCompare(_:)))

questionAnswers(3)

yourAnswerToTheQuestion