zoukankan      html  css  js  c++  java
  • 重写NSString的setter方法


    - (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 可以在保持引擎本身逻辑完整性的基础上 实现自我的需求增加 比较适合。

    此文仅为鄙人学习笔记之用,朋友你来了,如有不明白或者建议又或者想给我指点一二,请私信我。liuw_flexi@163.com/QQ群:582039935. 我的gitHub: (学习代码都在gitHub) https://github.com/nwgdegitHub/
  • 相关阅读:
    vim 插件之NERD tree
    vim 插件之supertab
    离开页面时发送请求
    修改属性item1(1变化)
    node+express 中安装nodemon实时更新server.js
    vue封装element中table组件
    mysql常用语句
    mysql新建表
    node+express POST请求
    node+express 发送get请求
  • 原文地址:https://www.cnblogs.com/liuw-flexi/p/9208681.html
Copyright © 2011-2022 走看看