I am working on an iOS app and I have data stored in CoreData that I am loading into a UITableView. The data entities have an attribute called id which is a string          
        
You can sort the collection of object with default sorted function as:
e.g. your array of object is like
data = [
    {
        name: "Naresh",
        dept: "CSC",
        id: 102
    },
    {
        name: "Rahul",
        dept: "CSC",
        id: 101
    },
    {
        name: "Amar",
        dept: "CSC",
        id: 100
    }
]
//Comparing string key
let sortByName = data.sorted { (model1, model2) -> Bool in
        return (model1.name.localizedCompare(model2.name) == ComparisonResult.orderedAscending)
}
/* The ComaprisonResult is default enum whose possible cases are: */
public enum ComparisonResult : Int {
    case orderedAscending
    case orderedSame
    case orderedDescending
}
/*** SORTING ACCORDING TO NUMERICAL VALUE ***/
//Comparing digit key including Int, Double, Float & all
let sortByNumber = data.sorted { (model1, model2) -> Bool in
            return model1.id < model2.id
}
//You can use the shot form of automatic closure as:
let sortByNumber = data.sorted { $0.id > $1.id }
//In the autoclosure the $0 represent first parameter, $1 represent second parameter. The return statement is optional if closure or functions contains only single statement.