分类 - 扩展extension 方法的实现在哪里写? objective-c
迷茫
迷茫 2017-05-02 09:38:18
0
2
779

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,单例,观察都模式。 懒加载 也是一种设计模式????!!!

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

membalas semua(2)
滿天的星座

Untuk menambah atribut pada kategori, anda perlu melaksanakan kaedah getter/setternya
扩展只有一个.h文件。如果我加上了一个方法。这个方法实现在哪个 文件中?
Pelaksanaannya sudah tentu fail .m

当属性类型为 NSString 时,经常用此特质来保护其封装性,因为传递给设置方法的新值有可能指向一个 NSMutableString 类的实例。这个类是 NSString 的子类,表示一种可修改其值的字符串,此时若是不拷贝字符串,那么设置完属性之后,字符串的值就可能会在对象不知情的情况下遭人更改。所以,这时就要拷贝一份“不可变” (immutable)的字符串,确保对象中的字符串值不会无意间变动。只要实现属性所用的对象是“可变的” (mutable),就应该在设置新属性值时拷贝一份。
仅有的幸福

heathWang bercakap tentang tiga yang pertama, biar saya cuba jawab yang terakhir. Memang, iOS agak mengelirukan di sini. Seperti yang anda katakan, pemuatan malas, pemerhati, singleton dan proksi ialah corak reka bentuk . MVC dan MVVM dipanggil corak rangka kerja. AFNetwork dan Foundation dipanggil rangka kerja.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan