DelegateProtocol?これはよく見られる1つだけ登録可能なdelegateプロパティです。対象のライフサイクルに干渉しない様、weak属性となっています。複数登録可能なdelegateプロパティを実装する際、Array型を使うと上記と同じ仕様になりません。countが増加してしまい強参照となってしまう為です。弱参照でありつつ複数登録可能なArray(Set)を作るには、NSHashTableを用います。NSHashTable.weakObjectsHashTable()delegateTableに追加した要素は弱参照で登録され、参照先が解放された際自動的に要素は削除されます。要素の追加は次の通りです。delegateTable.addObject(ObjA())NSHashTable内の要素はAnyObject型で管理される為、Array型と違いあらかじめ要素の型を指定することはできません。登録されている各要素のdelegateメソッドを正しく実行する為には、次の手順を実行します。最近のブログ記事マルチタイマーアプリ「laters」をリリースしました。Typeこのブログはクリエイティブ・コモンズでライセンスされています。