私が書いているiOSアプリケーションでプラグインシステムをサポートするには、シンプルで軽量なアプローチが必要です。何もない。これはユーザーに公開されるのではなく、ユーザーが選択できるコードの約100小(約50行のコード)モジュールの開発のための生産性の助けとなります。Obj-C/CocoaTouchにプラグインを実装する方法
私は現在、plist/NSDictionaryのアプローチにNSDictionaryのカテゴリを使用して追加の機能を提供しています。 plistは、対応するプラグインが通信する機能に固有の設定の辞書です。ここで、プラグイン名をターゲット/アクションのペアとして追加する必要があります。これは私が最良のアプローチについて少し不明であるところです。このターゲット/アクションのペアを指定する方法は?明らかに私は100のサブクラスを望んでいません。おそらくプロトコル/デリゲートデザインですか?
おかげで、 ダグ
さらに詳しい状況。これらの100の方法の変形は、ジェスチャ認識装置の動作である。ジェスチャハンドラ内のジェスチャ+ロジックをタップ/パン/回転します。私は何とか私のplist内でこれを指定したい。これは確かにデリゲートが行く道だと感じていますか?しかし、私はそれを私のplistの要素としてどのようにパッケージ化するのですか? – dugla
ハングオン、NSSelectorFromStringが検出されました。それは正しいことを感じる。私は単にセレクタの文字列名を追加します。完了しましたか? – dugla
はい、それはあなたがファイルにセレクタ名を格納するのとほぼ同じです。私はあなたにこのような何かをすることが役に立つと思うかもしれませんが、もう一度言います:[aInvocation setSelector:NSSelectorFromString(userSelectedString)]; [aInvocation invokeWithTarget:currentTarget]; – Rich