早上起来,发帖更健康。 1.OC中@符号用法 OC中一般使用@格式化字符串,如NSString * string = @"str1"; 是将C的字符串转化为OC中的字符串对象
2.OC中源文件和C++中源文件的区别 OC中源文件以:.m (OC源文件).mm(OC++)的源文件 C++中以:.cc .cpp结尾
3.OC中BOOL类型 BOOL类型其实是由一种称为预处理程序的机制添加的。 typedef signed char BOOL;
BOOL类型有两个值YES,NO。YES=1,NO=0。 objective-c 中的BOOL 实际上是一种对带符号的字符类型(signed char)的类型定义(typedef),它使用8位的存储空间。通过#define指令把YES定义为1,NO定义为0。
如果不小心将一个大于1字节的整型值(比如short或int)赋给一个BOOL变量,那么只有低位字节会用作BOOL值。如果该低位字节刚好为0(比如8960,写成十六进制为0x2300),BOOL值将会被认作是0,即NO值。而对于bool类型,只有true和false的区别,即0 为false,非0为true。bool类型变量就当变量的值是非0就返回1,等于0就返回0.
4.#pragma mark指令的使用 #pragma mark是对代码进行分组方便查找和导航使用
如:#pragma mark Crad类使用方法
5.使用NSLog不能打印C的字符串 char *str = "test1"; NSLog(@"%s",str);
6.函数和对象方法的区别 对象方法:-(void) run; (1)对象的实现只能写在@implementation....@end中,对象的方法说明只能写在@interface ...@end中 (2)对象方法以- 开头,类方法以+开头 (3)对象方法只能由对象来调用,类方法只能由类调用,不能当作函数调用 (4)函数属于整个文件,可以写在文件中的任何位置,包括@implementation....@end中,但写在@interface ...@end中无法识别,函数的声明可以在main函数内部,也可以在函数的外部 (5)对象方法归类\对象所有
函数:void run(){} (1)所有的函数都是平行的 (2)函数不存在隶属关系,使用的时候可以直接调用 (3)因为存在的作用域不一样,不可以访问对象中的成员变量
|