検索

ホームページ  >  に質問  >  本文

分類 - 拡張メソッドの実装はどこに書かれていますか? 目的-C

1. 情報を確認します: 拡張機能は匿名カテゴリと呼ばれることがよくあります (たとえば、文字列クラス拡張機能では、追加された属性 str1 と show メソッドはプライベートであり、
は String クラス Accessible でのみ使用できます)。
すみません: 質問があります: 追加された属性には文字列クラスでのみアクセスできるとはどういう意味ですか?
NSString test.h 拡張機能を作成し、@property を追加しました。 NSString *name 属性。
他の場所では、NSString *str1 = @"hello ";
str1.name にアクセスできます。この拡張子には .h ファイルが 1 つしかありません。 . メソッドを追加する場合、このメソッドはどのファイルに実装されますか?
3. 深いコピー、浅いコピー。不変オブジェクト NSString のコピーのみが浅いコピーです。それ以外はすべてディープコピーです。私はこれらの面接の質問を準備し、すべて理解しました。

お聞きしたいのですが、[str1 copy]、[mutStr2 mutCopy] はどのような用途に使用されますか?面接ではよく質問しますが、実際にはあまり使われていないようです。

4. iOS デザイン パターンの遅延読み込み。そんな紹介を見ました。設計パターンには、プロキシ パターン、MVC、シングルトン、および観察パターンが含まれます。 遅延読み込みもデザインパターンですか? ? ? ? ! ! !

迷茫迷茫2805日前811

全員に返信(2)返信します

  • 滿天的星座

    滿天的星座2017-05-02 09:40:18

    カテゴリに属性を追加するには、そのゲッター/セッター メソッドを実装する必要があります
    扩展只有一个.h文件。如果我加上了一个方法。这个方法实现在哪个 文件中?
    実装はもちろん .m ファイルです

    リーリー

    返事
    0
  • 仅有的幸福

    仅有的幸福2017-05-02 09:40:18

    heathWang は最初の 3 つについて話しました。私は最後の 1 つに答えてみます。確かに、iOS はこの点で少しわかりにくいです。あなたが言ったように、遅延読み込み、オブザーバー、シングルトン、エージェントは設計パターンです。 MVC と MVVM はフレームワーク パターンと呼ばれます。 AFNetwork と Foundation は フレームワーク と呼ばれます。

    返事
    0
  • キャンセル返事