今是昨非

今是昨非

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

莫空面接記2

莫空面试记 2#

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

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

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

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

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

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

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

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

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