Swif: kill receiver after present











up vote
0
down vote

favorite












I use below code for receiver in ViewControllerChat :



func chatDidReceive(_ message: QBChatMessage) {
print("REC")
}


If i go to go ViewControllerChat from ViewControllerHome and i receive chat, print once REC for me



If i go to go from ViewControllerChat to ViewControllerHome by below code and back to ViewControllerChat and i receive chat, print twice REC for me :



let goController: UIViewController mainStoryboard.instantiateViewController(withIdentifier: "ViewControllerHome")
self.present(goController, animated: true, completion: nil)


This is my plan :



1- From home i go to chat



2- In chat i receive once REC



3- I go to home by present



4- I back to chat from home and receive twice REC



If I open several times chat, i get several times REC



But i want after present ViewControllerChat, my chatDidReceive killing!










share|improve this question






















  • Can you show how you're calling chatDidReceive or how are you initiliazing QBChatMessage?
    – DionizB
    2 days ago










  • @DionizB i only delegated QBChatDelegate, QBRTCClientDelegate
    – soltan world
    2 days ago










  • I think you need to check if you assigned the delegate to QBChatDelegate, and only if delegate is not assigned then set delegate to it
    – DionizB
    2 days ago










  • @DionizB how i can check assigned?
    – soltan world
    2 days ago










  • Share how did you add your delegate = self and I will explain you properly
    – DionizB
    2 days ago















up vote
0
down vote

favorite












I use below code for receiver in ViewControllerChat :



func chatDidReceive(_ message: QBChatMessage) {
print("REC")
}


If i go to go ViewControllerChat from ViewControllerHome and i receive chat, print once REC for me



If i go to go from ViewControllerChat to ViewControllerHome by below code and back to ViewControllerChat and i receive chat, print twice REC for me :



let goController: UIViewController mainStoryboard.instantiateViewController(withIdentifier: "ViewControllerHome")
self.present(goController, animated: true, completion: nil)


This is my plan :



1- From home i go to chat



2- In chat i receive once REC



3- I go to home by present



4- I back to chat from home and receive twice REC



If I open several times chat, i get several times REC



But i want after present ViewControllerChat, my chatDidReceive killing!










share|improve this question






















  • Can you show how you're calling chatDidReceive or how are you initiliazing QBChatMessage?
    – DionizB
    2 days ago










  • @DionizB i only delegated QBChatDelegate, QBRTCClientDelegate
    – soltan world
    2 days ago










  • I think you need to check if you assigned the delegate to QBChatDelegate, and only if delegate is not assigned then set delegate to it
    – DionizB
    2 days ago










  • @DionizB how i can check assigned?
    – soltan world
    2 days ago










  • Share how did you add your delegate = self and I will explain you properly
    – DionizB
    2 days ago













up vote
0
down vote

favorite









up vote
0
down vote

favorite











I use below code for receiver in ViewControllerChat :



func chatDidReceive(_ message: QBChatMessage) {
print("REC")
}


If i go to go ViewControllerChat from ViewControllerHome and i receive chat, print once REC for me



If i go to go from ViewControllerChat to ViewControllerHome by below code and back to ViewControllerChat and i receive chat, print twice REC for me :



let goController: UIViewController mainStoryboard.instantiateViewController(withIdentifier: "ViewControllerHome")
self.present(goController, animated: true, completion: nil)


This is my plan :



1- From home i go to chat



2- In chat i receive once REC



3- I go to home by present



4- I back to chat from home and receive twice REC



If I open several times chat, i get several times REC



But i want after present ViewControllerChat, my chatDidReceive killing!










share|improve this question













I use below code for receiver in ViewControllerChat :



func chatDidReceive(_ message: QBChatMessage) {
print("REC")
}


If i go to go ViewControllerChat from ViewControllerHome and i receive chat, print once REC for me



If i go to go from ViewControllerChat to ViewControllerHome by below code and back to ViewControllerChat and i receive chat, print twice REC for me :



let goController: UIViewController mainStoryboard.instantiateViewController(withIdentifier: "ViewControllerHome")
self.present(goController, animated: true, completion: nil)


This is my plan :



1- From home i go to chat



2- In chat i receive once REC



3- I go to home by present



4- I back to chat from home and receive twice REC



If I open several times chat, i get several times REC



But i want after present ViewControllerChat, my chatDidReceive killing!







swift quickblox receiver






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked 2 days ago









soltan world

63




63












  • Can you show how you're calling chatDidReceive or how are you initiliazing QBChatMessage?
    – DionizB
    2 days ago










  • @DionizB i only delegated QBChatDelegate, QBRTCClientDelegate
    – soltan world
    2 days ago










  • I think you need to check if you assigned the delegate to QBChatDelegate, and only if delegate is not assigned then set delegate to it
    – DionizB
    2 days ago










  • @DionizB how i can check assigned?
    – soltan world
    2 days ago










  • Share how did you add your delegate = self and I will explain you properly
    – DionizB
    2 days ago


















  • Can you show how you're calling chatDidReceive or how are you initiliazing QBChatMessage?
    – DionizB
    2 days ago










  • @DionizB i only delegated QBChatDelegate, QBRTCClientDelegate
    – soltan world
    2 days ago










  • I think you need to check if you assigned the delegate to QBChatDelegate, and only if delegate is not assigned then set delegate to it
    – DionizB
    2 days ago










  • @DionizB how i can check assigned?
    – soltan world
    2 days ago










  • Share how did you add your delegate = self and I will explain you properly
    – DionizB
    2 days ago
















Can you show how you're calling chatDidReceive or how are you initiliazing QBChatMessage?
– DionizB
2 days ago




Can you show how you're calling chatDidReceive or how are you initiliazing QBChatMessage?
– DionizB
2 days ago












@DionizB i only delegated QBChatDelegate, QBRTCClientDelegate
– soltan world
2 days ago




@DionizB i only delegated QBChatDelegate, QBRTCClientDelegate
– soltan world
2 days ago












I think you need to check if you assigned the delegate to QBChatDelegate, and only if delegate is not assigned then set delegate to it
– DionizB
2 days ago




I think you need to check if you assigned the delegate to QBChatDelegate, and only if delegate is not assigned then set delegate to it
– DionizB
2 days ago












@DionizB how i can check assigned?
– soltan world
2 days ago




@DionizB how i can check assigned?
– soltan world
2 days ago












Share how did you add your delegate = self and I will explain you properly
– DionizB
2 days ago




Share how did you add your delegate = self and I will explain you properly
– DionizB
2 days ago












1 Answer
1






active

oldest

votes

















up vote
0
down vote



accepted










When trying to dismiss ViewControllerChat try to remove delegates:
QBRTCClient.instance().removeDelegates



Since the cause of receiving multiple times the same message should be the way you assign delegates in every ViewControllerChat load. Maybe creating a specified service for implementing this would be better.






share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














     

    draft saved


    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53373573%2fswif-kill-receiver-after-present%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    0
    down vote



    accepted










    When trying to dismiss ViewControllerChat try to remove delegates:
    QBRTCClient.instance().removeDelegates



    Since the cause of receiving multiple times the same message should be the way you assign delegates in every ViewControllerChat load. Maybe creating a specified service for implementing this would be better.






    share|improve this answer

























      up vote
      0
      down vote



      accepted










      When trying to dismiss ViewControllerChat try to remove delegates:
      QBRTCClient.instance().removeDelegates



      Since the cause of receiving multiple times the same message should be the way you assign delegates in every ViewControllerChat load. Maybe creating a specified service for implementing this would be better.






      share|improve this answer























        up vote
        0
        down vote



        accepted







        up vote
        0
        down vote



        accepted






        When trying to dismiss ViewControllerChat try to remove delegates:
        QBRTCClient.instance().removeDelegates



        Since the cause of receiving multiple times the same message should be the way you assign delegates in every ViewControllerChat load. Maybe creating a specified service for implementing this would be better.






        share|improve this answer












        When trying to dismiss ViewControllerChat try to remove delegates:
        QBRTCClient.instance().removeDelegates



        Since the cause of receiving multiple times the same message should be the way you assign delegates in every ViewControllerChat load. Maybe creating a specified service for implementing this would be better.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 2 days ago









        DionizB

        8071310




        8071310






























             

            draft saved


            draft discarded



















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53373573%2fswif-kill-receiver-after-present%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Can a sorcerer learn a 5th-level spell early by creating spell slots using the Font of Magic feature?

            Does disintegrating a polymorphed enemy still kill it after the 2018 errata?

            A Topological Invariant for $pi_3(U(n))$