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()方法在其他境况下的使用方法. 首先,我 ...
随机推荐
- nginx的upstream目前支持5种方式的分配(转)
nginx的upstream目前支持5种方式的分配 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight 指定轮询几率,weight ...
- MyBatis对应的xml的数据类型
MyBatis对应的xml的数据类型 JDBC Type Java TypeCHAR StringVARCHAR StringLONGVARCHAR StringNUMERIC java.math.B ...
- hadoop之mapReduce踩坑集合
居然没有把这个目录,之前还想爆粗口的,还是算了. 上苷酸菜: 1.对于mapreduce中FileInputFormat只输入input文件根目录的方法尝试. 很简单好吧: step1: FileIn ...
- 【转】7 Tips to Speed Up Eclipse
技巧一:运行最新版本的JDK和Eclipse 通常,新版本的JDK和Eclipse都会有性能上的优化.请确保你使用的是64位Eclipse并且使用了Oracle的JDK.对于网络开发,需要使用Ecli ...
- Sqlserver CheckPoint 在三种恢复模式中的不同表现
准备: 日志截断在下列情况下发生: 1.执行完 BACKUP LOG 语句时.2.在每次处理检查点时(如果数据库使用的是简单恢复模式).这包括 CHECKPOINT 语句所产生的显式检查点和系统生成的 ...
- iOS字符串拆分
NSString* poStr = @"local-8009-1408082245-8.wav"; NSArray* poArr1 = [naviAddressAndPort co ...
- mysql导入sql文件过大或连接超时的解决办法
前段时间出差在现场开发的时候,导入数据库老是出问题.最后发现了一个神奇sql语句交给实施,只要导入出错就把如下语句执行就可以了.至今屡试不爽. 1 2 3 4 5 6 7 set global max ...
- Mvc3.0_笔记
1.保留文本框中的值:<p>Find @Html.TextBox("searchKey", ViewBag.Filter as string)</p> 这 ...
- C/C++语言void及void指针深层探索(转)
转自:http://www.lanou3g.com/blog/sort/SelfiOS/page/78 1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一 ...
- (6)java的内存泄露问题
一:什么是内存泄露--->Java的一个最显著的优势是内存管理.你只需要简单的创建对象而不需要负责释放空间,因为Java的垃圾回收器会负责内存的回收.然而,情况并不是这样简单,内存泄露还是经常会 ...