- (void)setName:(NSString *)name { _name = [name copy]; } 就可以了
不需要写成:
第一种: (void)setName:(NSString *)name { if (_name != name) { _name = nil; _name = [name copy]; } } 第二种: (void)setName:(NSString *)name { if (_name != name) { _name = nil; _name = name; } }
2017某一次去浦东XXX面试 被问到如何重写NSString
当时支支吾吾说了什么copyithZone...
结果面试官态度坚决 说:我看没有必要再谈下去了 今天就这样吧 。
-------------------------------
当然如果:
NSString NSArray UIView 这些类 里面 加入 一些比较常用的 功能 比如 判断时候为空 是否有空格 去空格 是否有折行符 去折行符...等等。可以在分类中实现。因为这几个类太基础了 内部封装调用太多 Category 可以在保持引擎本身逻辑完整性的基础上 实现自我的需求增加 比较适合。