1

TornadoFX では、レシーバーが不要なイベントを二度と処理しないようにカスタム イベントのサブスクライブを解除し、メモリ リークなどを回避したいのですがunsubscribe<MyEvent>、コードでメソッドを使用するとまったく機能しません。これが私のコードの一部です:

object MyEventObj: FXEvent(EventBus.RunOn.BackgroundThread)
class MyEventBus(val personlist:List<PersonOld>): FXEvent()
class MyController: Controller()
{
    init
    {
        subscribe<MyEventObj> {
            unsubscribe<MyEventObj> { 
                println("Unsubscribe event!") //unsubscrib event and make sure the next code just runs once, but never works!
            }
            println("Event has received!")
            val items = listOf(PersonOld("Name A", 20), PersonOld("Name B", 25))
            fire(MyEventBus(items))
        }
    }
}

それで、問題は何ですか?unsubscribeTornadoFXでの使用方法 事前に助けてくれてありがとう!

4

1 に答える 1