黑马程序员----OC学习之小知识学习

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)因为存在的作用域不一样,不可以访问对象中的成员变量


 



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值