SwiftyEventsはnode.jsのEventEmitterに影響を受けた、イベント通知のためのライブラリです。
NSNotificationより手軽に使うことができ、またNSObjectに依存しないことを目指して開発されています。
EventEmitter
オブジェクトは、指定されたイベントに対するイベントリスナを登録することができ、イベントが発生した際に登録されたイベントリスナの関数を実行することができます。
init<Event: Hashable, Value: Any>()
EventEmitter
オブジェクトの生成時に、イベントの判別に用いる型と、イベント発生時に実行される関数の引数の型を指定します。
イベントはHashable
プロトコルを実装していることが必要です。通常の文字列を用いることも可能ですが、enum型を用いることでより安全なコードを記述することが可能です。
func on(event: Event, _ function: Value -> Void) -> Listener<Value>
func on(event: Event, listener: Listener<Value>) -> Listener<Value>
指定されたイベントに対するリスナーを追加します。
関数を用いて追加した際には、関数を含んだListener
オブジェクトが生成され、返却されます。
func once(event: Event, _ function: Value -> Void) -> Listener<Value>
一度限りのリスナーをイベントに追加します。
このメソッドにより生成されたListener
オブジェクトの関数は、初回の一度しか実行されません。
func removeListener(event: Event, listener: Listener<Value>) -> Void
EventEmitter
オブジェクトに登録された指定されたイベントに対するリスナを削除します。
func removeAllListeners() -> Void
EventEmitter
オブジェクトに登録されている、全てのリスナを削除します。
func removeAllListeners(events: [Event]) -> Void
EventEmitter
オブジェクトの指定したイベントに対する全てのリスナを削除します。
func listeners(event: Event) -> [Listener<Value>]
指定されたイベントに対するリスナを返却します。
func emit(event: Event, value: Value) -> Bool
指定されたイベントに登録されたリスナの関数を、提供された引数を用いて実行します。
イベントに対応するリスナが存在していた場合はtrue
を、それ以外はfalse
を返します。
func newListener(function: Value -> Void) -> Listener<Value>
引数の関数を含んだListener
オブジェクトを生成します。
Listener
オブジェクトは、EventEmitter
オブジェクトがイベント発生時に実行する関数を含むオブジェクトです。
init<Value: Any>(function: Value -> Void)
EventEmitter
オブジェクトにより実行される関数を引数として、Listener
オブジェクトを生成します。
EventEmitter
オブジェクトのnewListener
メソッドを利用することにより、そのEventEmitter
オブジェクトで受け入れ可能な型のListener
オブジェクトを得ることができます。
func exec(value: Value) -> Void
Listener
オブジェクト生成時に引数として与えた関数を実行します。
EventEmitter
のEmit()
メソッドでは、基本的にこのメソッドを用いて関数が実行されます。
Copyright © 2015 AKIRA-MIYAKE Distributed under the MIT License.