Object-C中需要注意的小细节
--------------------------------------------关于命名-------------------------------------------------
1.定义的变量名有单词组成,第一个单词首字母要小写,习惯上加一个下划线,表示是成员变量。
变量声告诉我们这将会可以放入什么样的数据。变量的名字,可以可以随便起,当然能有一定的意义最好,不过有些约定,变量名字必须不包含任何空格或者特殊字符,他们只能是字符,数字和下划线。他们也不能以数字开头。
2.product name:项目名称是不能用中文的;类名首字母大写,对象名首字母小写。
3.驼峰命名法:
a.名称首字母用大写;
前面有一个冒号:,要记住:一个冒号:对应一个参数,而且冒号:也是方法名的一部分。上面代码set方法的方法名是setHeight:,而不是setHeight。
这个方法的方法名是setHeight:andWeight: 当然andWeight是可以省略的,只是为了方便阅读。
--------------------------------------------关于细节-------------------------------------------------
5.如下面截图,在第一个里面如果添加元素时写成了@[@(i)],在输出结果时会多了一个括号;在第二个数组里面,如果不遍历输出数组里面的值的话,会出现乱码,因为不能直接输出中文,必须通过遍历数组才能正确输出。
第一个数组:


第二个数组:


--------------------------------------------关于拷贝-------------------------------------------------
6.对于深浅拷贝容易忽视的地方
// 如果想让一个不可变对象 变成可变对象 可以使用mutableCopy
NSArray *arr = @[@"1",@"2",@"3"];
NSMutableArray *arrrr = [arr mutableCopy];
[arrrr removeObject:@"2"];
NSLog(@"%@",arrrr);
可以输出结果
// 一个可变的对象 进行copy 它将变成一个不可变的对象
NSMutableString *string = [NSMutableString stringWithString:@"dgadgg"];
NSMutableString *sr = [string copy];
[sr appendString:@"dgasdg"];
NSLog(@"%@",sr);
这样就出现了错误哦!!!!!
--------------------------------------------关于联想之快捷-------------------------------------------------
###利用xcode的自动联想:
1.自动出现父类的初始化方法:
只需要输入in 然后回车就可以了

2.单例的GCD的写法:
在方法的括号内输入dis可以出现

3.kvo里面自动调用的那个方法
输入-(void)然后输入o就可以出现了

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
在定义了一个对象的全局变量时,在使用它时要考虑呢是否初始化,这点很容易忘记
在使用swich语句时,如果程序中需要多个语句的同时出现了,不要忘了加一个{};不然会抱错,它只能识别一个 ‘;’。
将不断更新。。。。。。。。。。。。。
Object-C中需要注意的小细节的更多相关文章
- java中需要注意的小细节
很早以前就打算写博客,但是总是因为不知道写什么,或是觉得博客里其他人已经把我要写的整理很好了而迟迟没有动笔,现在决定把自己平时的记录的一些笔记拿出来,希望大神们可以批评指导,并且希望能够帮助一些刚刚入 ...
- ArrayList中的一些小细节@JDK8
ArrayList中的一些小细节@JDK8 protected transient int modCount = 0; 该变量用于记录ArrayList的版本号,不可被序列化,每次对ArrayList ...
- 浅析C#组件编程中的一些小细节
控件与组件的区别(Control&Component的区别) 作者:作者不详 发布日期:2011-06-30 12:08:41 控件与组件的区别(Control&Component的 ...
- 手摸手教你如何在 Python 编码中做到小细节大优化
手摸手教你如何在 Python 编码中做到小细节大优化 在列表里计数 """ 在列表里计数,使用 Python 原生函数计数要快很多,所以尽量使用原生函数来计算. &qu ...
- ASP.NET MVC 自定义路由中几个需要注意的小细节
本文主要记录在ASP.NET MVC自定义路由时,一个需要注意的参数设置小细节. 举例来说,就是在访问 http://localhost/Home/About/arg1/arg2/arg3 这样的自定 ...
- C++在使用Qt中SLOT宏须要注意的一个小细节
大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类假设覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但假设指针去调用非虚函数,这个时候会调用C++的静态绑定,去推断当前的指针是 ...
- C++在使用Qt中SLOT宏需要注意的一个小细节
大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类如果覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但如果指针去调用非虚函数,这个时候会调用C++的静态绑定,去判断当前的指针是 ...
- Vue.js 和 MVVM 的小细节
Vue.js 和 MVVM 的小细节 转载 作者:流云诸葛 链接:www.cnblogs.com/lyzg/p/6067766.html MVVM 是Model-View-ViewModel 的缩写, ...
- 学习Java,容易被你忽略的小细节(3)
在<学习Java,容易被你忽略的小细节(2)>中我们已经深入讨论过String类中equals()方法的使用,在本文中我们将进一步讨论equals()方法在其他境况下的使用方法. 首先,我 ...
随机推荐
- <area> 标签
定义和用法 <area> 标签定义图像映射中的区域(注:图像映射指得是带有可点击区域的图像). area 元素总是嵌套在 <map> 标签中. 注释:<img> 标 ...
- url截取判断(实现同级列表)
<script> var dUrl=window.location.href; var cUrl=(dUrl.substring(0, dUrl.indexOf('list_'))); v ...
- python报错
报错1 UnboundLocalError: local variable 'x' referenced before assignment 定义了一个全局参数,但是在函数中直接改变参数值,就会报这个 ...
- Open vSwitch FAQ (一)
Basic Configuration Q: How do I configure a port as an access port? A: Add "tag=VLAN" to y ...
- Java字符串null相加
Java字符串null相加 最近和同事讨论了下面的一段代码: String a = null; a += a; System.out.println(a); 运行结果: nullnull 本着学习的态 ...
- android中获取string字符串的方法
比如在arrays.xml里: <!--leo added for KYLIN-496--> <string-array name="reboot_item"&g ...
- 网络延迟查看器 Network latency view 1.4
这是个用于查看网络延迟/ip/主机/地区的工具,内外网通吃,外网可通过这里下载csv以显示国家(地区) 可以自己决定winpcap或者原始套接字进行捕捉 如果只扫描内网推荐angryip 这是款发布在 ...
- Js 操作Json
JSON是一个提供了stringify和parse方法的内置对象,前者用于将js对象转化为符合json标准的字符串,后者将符合json标准的字符串转化为js对象. parse方法相当于eval()方法 ...
- Roman to Integer
Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 t ...
- 【渗透测试学习平台】 web for pentester -1.介绍与安装
web for pentester是国外安全研究者开发的的一款渗透测试平台,通过该平台你可以了解到常见的Web漏洞检测技术. 官网:https://www.pentesterlab.com 下载地址: ...