1 建立例子程序Xcode-> Command Line Utility-> Foundation Tool
2 .m是代码文件
3 XCode的编译器是基于GCC编译器的
4 使用#import <>包含头文件,可以防止头文件重复引用;头文件在(/System/Library/Frameworks/Foundation.framework/Headers/)目录下
5 NSLog()打印日志,不需要后面加\0,格式同printf(),格式中的%@相当于printf()的%s
6 NSString用前导@标示,相对于char*,NSString有可以获取自身长度,和其他串比较,转换为整形和浮点型的特点
7 BOOL类型,可以保存YES和NO常量
8 一个完整的类申明头文件(.h):
@interface Circle : NSObject
{
ShapeColor fillColor;
ShapeRect bounds;
}
- (void) setFillColor: (ShapeColor) fillColor;
- (void) setBounds: (ShapeRect) bounds;
- (void) draw;
@end // Circle
方法名字前面的单个减号(-)表明该方法是一个实例方法。如果方法名字前面是一个加号(+),则表明该方法是一个类(static)方法。
id类型意味着变量myObject可以是任意类型的对象。
类的实现文件(.m):
@implementation Circle
- (void) setFillColor: (ShapeColor) c
{
fillColor = c;
} // setFillColor
- (void) setBounds: (ShapeRect) b
{
bounds = b;
} // setBounds
- (void) draw
{
NSLog (@"drawing a circle at (%d %d %d %d) in %@",
bounds.x, bounds.y,
bounds.width, bounds.height,
colorName(fillColor));
} // draw
@end // Circle
类方法调用:
[circle setFillColor: kRedColor];
[textThing setStringValue: @"hello there" color: kBlueColor];