How to downcast a groupsCollection array to a swift array?

You can not use whereClause for one-to-many relation - only for object properties and one-to-one relations. (Sorry, It is mistake! - see http://support.backendless.com/t/how-to-downcast-a-groupscollection-array-to-a-swift-array#comment-4624)

You could implement your use case, for example:

func getGroupsFromCurrentUser() {
print ("Current User: ", backendless.userService.currentUser)
// Create relation query for fetching the users relations
let query = BackendlessDataQuery()
// Where clause - find a a user with id bl.userService.currentUser.objectId
query.whereClause = "objectId = '\(backendless.userService.currentUser.objectId)'"
// Get BLUser object with all relations on depth 2 (its [BLGroup] with them [BLUser])
let queryOptions = QueryOptions()
queryOptions.relationsDepth = 2
query.queryOptions = queryOptions
let users = backendless.persistenceService.of(BLUser.ofClass())
users.find(
query,
response: { (var groupsCollection : BackendlessCollection!) -> () in
let groups = groupsCollection.getCurrentPage()
for group in grops as! [BLGroup] {
print ("Users: \(group.users)")
}
},
error: { (fault : Fault!) -> () in
print("Server reported an error (ASYNC): \(fault)")
})
}