--------------------------------------------关于命名-------------------------------------------------

1.定义的变量名有单词组成,第一个单词首字母要小写,习惯上加一个下划线,表示是成员变量。

变量声告诉我们这将会可以放入什么样的数据。变量的名字,可以可以随便起,当然能有一定的意义最好,不过有些约定,变量名字必须不包含任何空格或者特殊字符,他们只能是字符,数字和下划线。他们也不能以数字开头。

2.product name:项目名称是不能用中文的;类名首字母大写,对象名首字母小写。

3.驼峰命名法:

a.名称首字母用大写;

b.动名词,动词首字母用小写,名词用大写。
 
--------------------------------------------关于方法------------------------------------------------- 
4.- (void)setHeight:(int)newHeigt;
OC方法中,一个冒号:对应一个参数。上面的代码age的set方法接收一个int类型的参数,参数名为newHeigt,所以(int)newHeigt
前面有一个冒号:,要记住:一个冒号:对应一个参数,而且冒号:也是方法名的一部分。上面代码set方法的方法名是setHeight:,而不是setHeight。
 - (void)setHeight:(int)newHeigt andWeight:(int)newWQeight;

这个方法的方法名是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中需要注意的小细节的更多相关文章

  1. java中需要注意的小细节

    很早以前就打算写博客,但是总是因为不知道写什么,或是觉得博客里其他人已经把我要写的整理很好了而迟迟没有动笔,现在决定把自己平时的记录的一些笔记拿出来,希望大神们可以批评指导,并且希望能够帮助一些刚刚入 ...

  2. ArrayList中的一些小细节@JDK8

    ArrayList中的一些小细节@JDK8 protected transient int modCount = 0; 该变量用于记录ArrayList的版本号,不可被序列化,每次对ArrayList ...

  3. 浅析C#组件编程中的一些小细节

    控件与组件的区别(Control&Component的区别) 作者:作者不详  发布日期:2011-06-30 12:08:41 控件与组件的区别(Control&Component的 ...

  4. 手摸手教你如何在 Python 编码中做到小细节大优化

    手摸手教你如何在 Python 编码中做到小细节大优化 在列表里计数 """ 在列表里计数,使用 Python 原生函数计数要快很多,所以尽量使用原生函数来计算. &qu ...

  5. ASP.NET MVC 自定义路由中几个需要注意的小细节

    本文主要记录在ASP.NET MVC自定义路由时,一个需要注意的参数设置小细节. 举例来说,就是在访问 http://localhost/Home/About/arg1/arg2/arg3 这样的自定 ...

  6. C++在使用Qt中SLOT宏须要注意的一个小细节

    大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类假设覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但假设指针去调用非虚函数,这个时候会调用C++的静态绑定,去推断当前的指针是 ...

  7. C++在使用Qt中SLOT宏需要注意的一个小细节

    大家都知道C++虚函数的机制,对于基类定义为虚函数的地方,子类如果覆写,在基类指针或者引用来指向子类的时候会实现动态绑定. 但如果指针去调用非虚函数,这个时候会调用C++的静态绑定,去判断当前的指针是 ...

  8. Vue.js 和 MVVM 的小细节

    Vue.js 和 MVVM 的小细节 转载 作者:流云诸葛 链接:www.cnblogs.com/lyzg/p/6067766.html MVVM 是Model-View-ViewModel 的缩写, ...

  9. 学习Java,容易被你忽略的小细节(3)

    在<学习Java,容易被你忽略的小细节(2)>中我们已经深入讨论过String类中equals()方法的使用,在本文中我们将进一步讨论equals()方法在其他境况下的使用方法. 首先,我 ...

随机推荐

  1. 【Sublime Text 3】

  2. OpenvSwitch架构

    Openvswitch的架构 数据库结构和OVS-VSCTL # ps aux | grep openvswitch root      1117  0.0  0.0  21200  1580 ?   ...

  3. R处理xml文件

    最近处理数据的时候需要处理一些xml文件,但是xml文件的格式之前并不是很熟悉.幸好R有一些函数可以帮助快速处理xml文件.其中的xmlToList函数尤其方便,可以使你从陌生的XML迅速回到熟悉的R ...

  4. Java线程的生命周期

    线程的生命周期包括:新建(New).就绪(Runnable).运行(Running).阻塞(Blocked)和死亡(Dead)5种状态.线程状态转换图如下: 1.新建状态(New) 当程序使用new关 ...

  5. 快速掌握grep命令及正则表达式

    Linux系统自带了支持拓展正则表达式的 GNU 版本 grep 工具,所有的Linux发行版中均默认安装grep ,grep 命令被用来检索一台服务器或工作站上任何位置的文本信息,如何在 Linux ...

  6. ZSDR101-跑成品MRP

    *&---------------------------------------------------------------------**& Report ZSDR101*&a ...

  7. 图像质量评价指标之Matlab实现

    在图像处理算法研究中,很多时候需要有客观评价指标来对算法的性能进行评价. 比如,在图像复原.图像滤波算法研究中,需要采用客观评价指标来定量的来测试算法恢复出的图像相对于参考图像的好坏程度. 本文介绍文 ...

  8. map遍历的四种方法

    public static void main(String[] args) { Map<String, String> map = new HashMap<String, Stri ...

  9. 第一课 T语言关键字(版本TC5.0)

    关键字 TC综合开发工具的语法里包含了大量的关键字,而且对TC综合开发工具支持的关键字都做了亮色处理,以便大家在写脚本的时候容易区分. 关键字在使用的时候,都有特定的作用,不能作为变量名.函数名等等使 ...

  10. JavaWeb学习记录(六)——用户登录功能

    使用JDBC.spring框架.servlet实现一个简单的用户登录功能. 一.mySql数据库 SET FOREIGN_KEY_CHECKS=0; -- ---------------------- ...