I can't update Object Relation - Swift iOS

I have the following table - League. League has relations to other tables(Team, Organizers, Referee). The data model for the League table is as follows:









class League : NSObject

{




    // MARK: Properties

    var created: NSDate = NSDate()

    var updated: NSDate = NSDate()

    var objectId: NSString?

    var ownerId: NSString?

    

    var name: NSString?

    var numberOfTeams: NSNumber?

    var finishDate: NSDate = NSDate()

    var startDate: NSDate = NSDate()

    var teams: NSMutableArray? = NSMutableArray()

    var organizers: NSMutableArray? = NSMutableArray()

    var games: NSMutableArray? = NSMutableArray()

    var referees: NSMutableArray? = NSMutableArray()




    

    func addToTeams(team: Team)

    {

        if(self.teams == nil)

        {

            self.teams = NSMutableArray()

        }

        self.teams?.addObject(team)

    }

    

    func removeFromTeams(team: Team)

    {

        self.teams?.removeObject(team)

        if(self.teams?.count <= 0){

            self.teams = nil

        }

    }

    

    func loadTeams() -> NSMutableArray

    {

        if(self.teams != nil)

        {

            Backendless.sharedInstance().persistenceService.load(self, relations: ["teams"])

            return self.teams!

        }

        

        return NSMutableArray()

    }

    

    func freeTeams()

    {

        if(self.teams == nil){

            return

        }

        self.teams!.removeAllObjects()

        self.teams = nil

    }

    

    

    //Organizers

    func addToOrganizers(organizers: Organizers)

    {

        if(self.organizers == nil)

        {

            self.organizers = NSMutableArray()

        }

        self.organizers?.addObject(organizers)

    }

    

    func removeFromOrganizers(organizers: Organizers)

    {

        self.organizers?.removeObject(organizers)

        if(self.organizers?.count <= 0){

            self.organizers = nil

        }

    }

    

    func loadOrganizers() -> NSMutableArray

    {

        if(self.organizers != nil)

        {

            Backendless.sharedInstance().persistenceService.load(self, relations: ["organizers"])

        }

        return self.organizers!

    }

    

    func freeOrganizers()

    {

        if(self.organizers == nil){

            return

        }

        

        self.organizers!.removeAllObjects()

        self.organizers = nil

    }

    

    func addToGames(game: Game)

    {

        if(self.games == nil)

        {

            self.games = NSMutableArray()

        }

        self.games?.addObject(game)

    }

    

    func removeFromGames(game: Game)

    {

        self.games?.removeObject(game)

        if(self.games?.count <= 0){

            self.games = nil

        }

    }

    

    func loadGames() -> NSMutableArray

    {

        if(self.games != nil)

        {

            Backendless.sharedInstance().persistenceService.load(self, relations: ["games"])

        }

        return self.games!

    }

    

    func freeGames()

    {

        if(self.games == nil){

            return

        }

        

        self.games!.removeAllObjects()

        self.games = nil

    }

    

    func addToReferees(referee: Referee)

    {

        if(self.referees == nil)

        {

            self.referees = NSMutableArray()

        }

        self.referees?.addObject(referee)

    }

    

    func removeFromReferees(referee: Referee)

    {

        self.referees?.removeObject(referee)

        if(self.referees?.count <= 0){

            self.referees = nil

        }

    }

    

    func loadReferees() -> NSMutableArray

    {

        if(self.referees != nil)

        {

            Backendless.sharedInstance().persistenceService.load(self, relations: ["referees"])

        }

        return self.referees!

    }

    

    func freeReferees()

    {

        if(self.referees == nil){

            return

        }

        

        self.referees!.removeAllObjects()

        self.referees = nil

    }

}









When I try to do the following, the league name gets updated but the relations stay unchanged. I am exactly following the documentation here

I have attached the whole file where I update the league relations.









  func populateLeague() {

         
        //Remove existing relations

        for team in self.selectedLeague.teams! {

            self.selectedLeague.removeFromTeams(team as! Team)

        }

        

        for organizer in self.selectedLeague.organizers! {

            self.selectedLeague.removeFromOrganizers(organizer as! Organizers)

        }

        

        for ref in self.selectedLeague.referees! {

            self.selectedLeague.removeFromReferees(ref as! Referee)

        }

        
        //Add new ones

        for team in self.selectedTeams

        {

            self.selectedLeague.addToTeams(team)

        }

        

        for organizer in self.selectedOrganizers{

            self.selectedLeague.addToOrganizers(organizer)

        }

        

        for ref in self.selectedReferees{

            self.selectedLeague.addToReferees(ref)

        }

        

        self.selectedLeague.name = "League Three New Name"

        var error: Fault?

        backendless.data.save(self.selectedLeague, error: &error) as? League

        if error == nil{

            print("League has been update")

        } else {

            print("Server reported an error")

        }

    }

PopulateLeagueUITableViewController.txt (11.64kB)

Hi, Nabil!

We’ll check it out and get back to you.

Please update Backendless SDK from CocoaPods (3.0.18 release) or from github (CommLibiOS and backendless).