問題タブ [method-swizzling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 迅速なプロジェクトでメソッドのスウィズリングを無効にすることは可能ですか?
サードパーティのフレームワークを使用した非常に大きなプロジェクトがあり、メソッドの入れ替えを無効にして、サードパーティのフレームワークがデフォルトの予期される動作を台無しにしないようにしたいと考えています。出来ますか?プロジェクト設定にいくつかのフラグがありますか?
android - リフレクション / クラスローダーを介して Android のメソッド実装を置き換える
現在、モバイルアプリの実行時操作技術について研究しています。iOS プラットフォームでは、class_replaceMethod(...) などの Objective-C ランタイム ライブラリ関数を呼び出すことで、メソッドの入れ替えを簡単に行うことができます。Androidでも同等の方法は可能ですか?
JDB を使用すると、ローカル変数を変更したり、式を評価したりできます。後者により、メソッドの実装本体全体を変更できると思います。たとえば、反射を使用して、これをどのように正確に行いますか? 必要な手順は何ですか?
前もって感謝します!
swift - Swift 2.3 から Swift 3 への NSLocale.currentLocale のポート メソッド スウィズル
Swift 3 では、NSLocale (現在の Locale) クラスに多くの変更が導入されました。NSLocale.currentLocale()
一部のヘルパーの単体テストを実行するには、メソッドのスウィズルを実行する必要があります。Swift 2.3 では、次の方法を使用できます。
現在の問題は、Swift 3currentLocale
ではもはやなく、プロパティに置き換えられたことcurrent
です。
Swift 3 で同じ結果を得るにはどうすればよいでしょうか?
ios - iOS 10.1 でメソッド スウィズルが機能しない
@property string
のメソッドをスウィズルしたいUIPasteboard
:
呼び出し[[UIPasteboard generalPasteboard] setString:@"test"];
たら、swizzle メソッドに入ります。iOS 7、iOS 8、および iOS 9 で動作します。ただし、iOS 10 では失敗しました。
組み立て方とテスト方法が異なります:</p>
iOS 9 の場合:
iOS 10 の場合: