Skip to content

CancelBag Strong Reference Cycle #88

Open
@Sundea

Description

@Sundea

Binding is a struct that has two properties get and set which are closures (my assumption as far as they are marked in init as escaping). That means that it retains its value. Looking at your interactors I have found that sinkToLoadable retains the cancelBag, associated value of the loading case. So, that means that the publisher will never be canceled if cancelBag receives dealloc message. For example, if the interactor's method will be called again before the previous publisher finishes. So settings any other new value to binding to replace the previous loading(_, cancelBag) will not stop the publisher.
Does it was the desired behavior?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions