OC 中self. 与 下划线的区别

@property (nonatomic, copy) NSString *name;

self.name  是对属性的访问   是在调用一个getter方法   会让引用计数器+1;   _name却不会。

_name  是对局部变量的访问   引用计数不会增减

用self.name 是更好的选择,因为这样可以兼容懒加载,同时也避免了使用下划线的时候忽视了self这个指针,_name容易在block中造成循环引用。

时间: 2024-10-18 06:23:37

OC 中self. 与 下划线的区别的相关文章

oc将字符串中单词按照出现次数(次数都不一样)降序排序,排序之后单词只出现一次,源字符串中单词用下划线连接,生成字符串也用下滑线连接

/* 将字符串中单词按照出现次数(次数都不一样)降序排序,排序之后单词只出现一次,源字符串中单词用下划线连接,生成字符串也用下滑线连接(10分) 如传入:@"good_good_study_good_study" 返回:@"good_study" 如传入:@"I_love_I_hate_love_love" 返回:@"love_I_hate" */ 方法1:选择排序 -(NSString *)sortStringByNumbe

python 里面的单下划线与双下划线的区别(私有和保护)

Python 用下划线作为变量前缀和后缀指定特殊变量. _xxx 不能用'from module import *'导入 ——变量名_xxx被看作是“私有 的”,在模块或类外不可以使用.__xxx__ 系统定义名字 ——__xxx 类中的私有变量名 ——只有类对象自己能访问,连子类对象也不能访问到这个数据. 核心风格:避免用下划线作为变量名的开始. 因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始.一般来讲,变量名_xxx被看作是“私有 的

python 里面的单下划线与双下划线的区别

python 里面的单下划线与双下划线的区别 Python 用下划线作为变量前缀和后缀指定特殊变量. _xxx 不能用'from moduleimport *'导入 __xxx__ 系统定义名字 __xxx 类中的私有变量名 核心风格:避免用下划线作为变量名的开始. 因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下 划线作为变量名的开始.一般来讲,变量名_xxx被看作是“私有 的”,在模块或类外不可以使用. 当变量是私有的时候,用_xxx 来表示变量是很好的习

SQL搜索下划线,like中不能匹配下划线的问题

最近在检测天气预报15天查询网 站(http://tqybw.net)时的URL时,发现页面中有很些404页,分析发现,是请求地址的能参数中多了下划线“_”,而rewrite规 则中并没有配这样的规则,数据库表中出现“_”,并不多,想找出来把下划线去掉,按照正常的查找,结果返回记录不正常,找了下资料,原来下划线在like 中有着特殊的含义,它表示匹配任意一个字符.因此在查询包含下划线内容的时候需要“特殊关照”一下. 以下是分析及解决办法: 使用like语句的错误查询 mysql> select

html 中文本去掉下划线

明显看出,,网页中文本的下划线,怎么去点呢:先看一下源代码吧, 明显看出,有下划线的文本时超链接,我们可以通过 text-drection:"none"; 这个css样式去掉 博主写这个是因为自己初学时,怎么也搞不掉,估计时编辑器有毒:::

word中怎么制作下划线?1分钟教你轻松搞定!

当我们使用word整理东西的时,有的时候会需要用到下划线画一下重点部分.那么有的小伙伴就要问到了,在word中下划线是怎样设置的呢?今天小编就来给大家分享两种添加下划线的方法,希望可以帮助到大家哈!No.1使用字体对话框添加下划线首先我们需要打开一个word文档,然后将需要添加下划线的文字给选中.接着我们可以在[字体]版块的右下角有个小箭头,点击它就可以了.点击小箭头之后,会弹出一个对话框,在对话框中我们可以看到下划线线型.然后从中选择一个我们喜欢的下划线就可以了.No.2使用制表位添加下划线首

iOS中self.xxx 和 _xxx 下划线的区别

property (nonatomic,copy) NSString *propertyName; self.propertyName 是对属性的拜访: _propertyName 是对部分变量的拜访. 其1.@property的声明中,编译器正在天生g] @property (nonatomic,copy) NSString *propertyName; self.propertyName 是对属性的访问: _propertyName 是对局部变量的访问. 其一.@property的声明中,编

Oracle中like查询下划线等特殊字符的处理

你可以包括实际的字符“%”或“_”模式中利用例外条款,其中确定的转义字符.如果转义字符出现在模式在字符“%”或“_“Oracle将解释这个字符上的模式,而不是作为一种特殊的模式匹配字符. 搜索的模式a_b在他们名字的员工: SELECT last_name FROM employees WHERE last_name LIKE '%A\_B%' ESCAPE '\'; 免责条款的反斜杠(\)识别为转义字符.在该模式中,转义字符是下划线(_).这会导致甲骨文解释的下划线,而不是作为一个特殊的模式匹

解决like中无法匹配下划线的问题

想要查询某字段含有下划线的记录,发现以下sql语句条件是无效的,会查询出表中所有的记录. select * from t_members t where t.c_memberid like '%_%' 原因:在like语句中的下划线的含义是“任意一个字符”,类似“%”代表匹配任意多个字符的. 正确的写法应该是:select * from t_members t where t.c_memberid like '%\_%' escape '\'