cesarferreira / SwiftEventBus

A publish/subscribe EventBus optimized for iOS
MIT License
1.1k stars 103 forks source link

onMainThread triggering multiple times #28

Open askaralic opened 7 years ago

askaralic commented 7 years ago

When i call postToMainThread or simple post onMainThread is calling many times . triggering count is not predictable .

nunogoncalves commented 7 years ago

Hi @askarali. As you probably know, we developers are just that, developers. Not witches, nor magicians, even if sometimes people believe so. That being said, we can't just guess the problem without more information. Can you provide more insight, your use case in particular? How are you using SwiftEventBus? Are you sure you're not posting multiple times? Just throw us a bone here please. :)

Thanks for using SwiftEventBus by the way.

askaralic commented 7 years ago

I have used this for a test purpose while tapping a button i have sent the post code as you mentioned in usage and printed the value thats it

nunogoncalves commented 7 years ago

Can you share the code? Or the project?

jscarney commented 7 years ago

I have the same issue. I have used the event bus in a couple projects but the number of times a message is received is unpredictable. I put in traps to print to debug console when the POST is done and then inside the listener I print when the message is received. I even try unregistering the event inside the onMainThread routine, but even with that I sometimes get an extra call as if the message was posted again (but it was not). I don't have an isolated project at the moment to send. The event bus is in several places in my projects, but the duplicate calls of the listener are problematic. I did not notice for some time as mostly I was just using it to know when to reload a table. A second or third call to reload the table was not a problem - not noticeable. But later I used the events to control more complex sequential logic (e.g. doing multiple reads from firebase).

mikeuv commented 7 years ago

I have exactly the same problem right know. Let me know if you need code in order to understand my problem.

wokenshin commented 7 years ago

If more than one OC project is better

talk2cerlin commented 7 years ago

Make sure you are unregistering properly or else everytime you register, it adds a new handler.

satishVekariya commented 6 years ago

@askarali Print instance in onMainThread if all address are different then may be problem in your code!!

hoang-bondle commented 5 years ago

@askarali please make sure that you are subscribing to event in viewWillAppear and unregister in view viewWillDisappear

sobakasu commented 4 years ago

511xXaL5IAL _SX258_BO1,204,203,200_

rbugaian commented 4 years ago

@askarali @jscarney @mikeuv Just make sure to call SwiftEventBus.unregister(YOUR_TARGET_OBJECT) before subscribing/registering. Had the same problem. SwiftEventBus does not filter out multiple subscriptions of a target.

daerimin commented 2 years ago

Make sure you are unregistering properly or else everytime you register, it adds a new handler.

THIS was killing me and I guess I didn't read the docs... thank you for pointing this out!!!