--------------------------------------------关于命名-------------------------------------------------
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语句时,如果程序中需要多个语句的同时出现了,不要忘了加一个{};不然会抱错,它只能识别一个 ‘;’。