今是昨非

今是昨非

日出江花红胜火,春来江水绿如蓝

莫空面接記2

莫空面试记 2#

面接中に質問されたこと、もしページを統計し、各ページに記録を作るとしたら、どうしますか?

それから考えて言いました、

  1. 以前の私のやり方は、各画面の viewDidAppear で記録のメソッドを書くことでした。
  2. 現在の私のやり方は、UIViewController から継承した基底クラスを宣言し、そのクラスに log のメソッドを書き、すべての画面がこのクラスを継承します。

それから、もし私の画面の中に UITableViewController から継承したものがあったらどうするかと聞かれ、私は再び UITableViewController の基底クラスを書くと言いました。では、UICollectionViewController や UITabBarViewController から継承したものがあったらどうするか?その時、私は恥ずかしくなりました。。。。。

確かに他にどんな方法があるのか分かりませんでしたが、ちょうど runtime を検索している時に、あるブログを見つけました、Method Swizzling と AOP 実践、涙が出そうになりました。。。まったく同じ、まったく同じ、どうして早く見なかったのか。

見た後、私はとても協力的だと感じました、前の二つを言い出しました。
image1

答えは皆さんが上のリンクを見てください、Method Swizzling と AOP の二つは以前聞いたことがありましたが、今日は知識が増えました、無駄ではありませんでした、うん、皆さんにシェアします。

そういえば、デモもあります、作者のデモ、AspectsDemo、この実装は見た目が確かに良く、高級感もあります。皆さんはまずリンクを見て、その後このデモを見てください。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。