検索

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

分类 - 扩展extension 方法的实现在哪里写? objective-c

1.查资料:Extension常被称为是匿名的Category(比如:在字符串中类扩展extension,添加的属性str1和show方法都是私有的,
只能在String类中可以访问得到。
请问:我有个疑问:添加的属性,只能在string类中访问是什么意思?
我写了NSString+test.h 这个扩展。并加上了@property NSString *name这个属性。
在其他地方,我可以:NSString *str1 = @"hello ";
str1.name 可以访问。这算是访问吗?
2.扩展只有一个.h文件。如果我加上了一个方法。这个方法实现在哪个 文件中?

3.深拷贝,浅拷贝。只有不可变对像NSString 的copy是浅拷贝。其他的都 是深拷贝。这些面试题我准备了,都 了解了一下。
我想问,[str1 copy], [mutStr2 mutCopy] 这些有什么用呀?面试的时候问的多,但是实际中好像没怎么用到。
4.iOS设计模式之懒加载。我看到有这样 的介绍。设计模式有代理模式,MVC,单例,观察都模式。 懒加载 也是一种设计模式????!!!

迷茫迷茫2757日前784

全員に返信(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
  • キャンセル返事