A functional approach to programming, since Swift has this, and Realm is lazy; Not so simple / accessible solution in Objective-C, but for Swift at least: Swift
let distinctTypes = reduce(Realm().objects(User), []) { $0 + (!contains($0, $1.type) ? [$1.type] : [] ) }
UPDATED:
A quick reduction is a kind of performance intensity, allocating a bunch of intermediate arrays, instead the following should be much better, but should be explicitly stripped
let distinctTypes = Array(Set(Realm().objects(User).valueForKey("type") as! [String]))
apocolipse
source share