タグ

Objective-CとiOSに関するmacneko-ayuのブックマーク (2)

  • Xcodeプロジェクト内のクラスの依存関係を図示する - Qiita

    他人から引き継いだプロジェクトの大まかな全体設計を把握したい場合、規模の大きいライブラリの一部だけ取り出して使用したい場合、複雑になってしまったコードをリファクタリングしたい場合等、プロジェクト内のクラスの依存関係が一望できると有益な場面は多いのではないでしょうか。 objc_depというスクリプトを用いると、下記のように、Xcodeプロジェクト内のクラスの依存関係を示す図をコマンド一発で生成することができます。 このスクリプトの使い方、生成される図の見方等を紹介します。 スクリプトの実行方法 次のURLからダウンロードしてきて解凍すると、objc_dep.py というファイルが入っています。 https://github.com/nst/objc_dep そのスクリプトを適当な場所に置き、ターミナルから次のように実行します。 というコマンドになります。 依存関係図を表示 出力される.do

    Xcodeプロジェクト内のクラスの依存関係を図示する - Qiita
    macneko-ayu
    macneko-ayu 2018/05/02
    お、これ探してたやつだ。試す
  • 既存クラスのメソッドを入れ替える(Method Swizzling) - Qiita

    状況: 画面が10個ほどあるiPhoneアプリ UIViewControllerのviewWillAppear等にログを仕込みたい。 すでにUIViewControllerを継承したクラスが多数あって、全部にログを仕込むのはめんどくさいしダサくていやだ。 解決策: method_exchangeImplementationsでメソッドを入れ替えてしまえばいいよ! 黒魔法へようこそ Objective-C Runtime には、method_exchangeImplementations()という関数が用意されています。これで「メソッドの交換」が可能となります。これはSDKで提供されているクラスのメソッドも入れ替える事が可能です。なのでUIViewControllerのviewWillAppear等を自作メソッドと差し替える事が出来ます。この差し替えは、動的に行われるので、動作する環境に応じ

    既存クラスのメソッドを入れ替える(Method Swizzling) - Qiita
    macneko-ayu
    macneko-ayu 2018/04/12
    へー、こんなことができるのか
  • 1