Object-c基础之一:#import,NSLog(),数据类型
(1)在object-c中,用#import来代替C语言中的#include;
在一般的头文件中都会用#import<Foundation/Foundation.h>;
Foundation框架是一个处理用户界面之下的层中的特性,Foundation为cocoa框架的子集,cocoa框架还包括Application Kit框架。
(2)NSLog
此命令是向控制台显示输出语句,跟c语言的printf()很相似,比如:
NSLog(@”Hello World!”);则是在控制台输出HelloWorld!双引号中的字符串前有一个@符号,这表示引用的字符串应该作为Cocoa的NSString元素来处。前面的NS代表你这个函数是来自Cocoa而不是其他工具包,这是苹果公司的习惯问题,为了保存之前代码的兼容性,才继续采用NS前缀。
(3)数据类型
object-c支持的类型有:
布尔类型(boolean):他具有YES和NO两个值,与c语言的true和false类似。
例如:Booleanrunning;
对象类型:在object-c中,一个对象包含了数据和一组操作,这组操作可以使用或是修改对象的数据。
id:在object-c中,对象标识被作为一个特殊的数据类型:id。这个数据类型定义为引用对象的指针。实际上是指向对象实例变量的指针。
例如:idlight;
id和对象类型的比较
1,id关键字在编译时不被检查,而NSObject在编译时会被检查是否被调用一些错误方法。
2,id可以是任何对象,包括非NSObject对象
3,定义id的时候不使用*,NSObject却需要。
字符串类型(NSString):
例如:NSString*aString = @“我是一个NS字符串”;
或者可以这样创建: NSString *aString = [[NSString alloc] initWithFormat:@"这也是个NS字符串!"];
*initWithFormat是其中一个初始化方法,常用的还有
//从一个文件读取需要的内容
- (id)initWithContentsOfFile:(NSString *)pathencoding:(NSStringEncoding)enc error:(NSError **)error
//从一个地址读取需要的内容
-(id)initWithContentsOfURL:(NSURL *)urlencoding:(NSStringEncoding)enc error:(NSError **)error
*以上方法得到的NSString的retain值为1,所以要记得release掉(retain和release下次讲)
其他类型则与c语言具有较大的相似性,所以这里就不讲了。