包含Foundation主头文件
#import <Foundation/Foundation.h>
输出函数: NSLog()
字符串:NSString @“ ”
BOOL:8位二进制数,YES定义为1和NO定义为0。整形赋给BOOL变量会截取,不要用BOOL与YES进行比较,与NO比较一定是安全的。
占位符:%d 数字 %@ NSString %s 字符串 %lu 无符号整型
文件访问函数:fopen() fgets() fclose()
启动项修改:Product-Scheme-Edit Scheme-Arguements
发送消息(调用方法):[对象 消息],如新建对象:[类 new]
泛型:id 实际上是一个指针,指向其中的某个结构
定义接口:
@interface 类名:NSObject
{成员变量}
-(返回值类型) 函数名:(参数类型) 参数名;
@end //类名
实现接口:
@implementation 类名
- (返回值类型) 函数名:(参数类型) 参数名{
//具体实现
}
@end //类名
中缀符:
[textThing setStringValue: @"hello there" color: kBlueColor];
函数setStringValue:color:,参数为@”hello there” 和kBlueColor
自定义NSLlog():重写description()
初始化init:
-(id) init{
if(self=[super init]){
//do sth
}
return self;
}
存取方法:setXxx: - xxx: 不要使用get作为getter方法前缀,另有含义
#import <Cocoa/Cocoa.h>//.h文件中导入系统头文件
#import "Xxx.h"//.m文件中导入项目本地头文件
<>尖括号用于导入系统头文件,”“引号用于导入项目本地头文件
当编译器只需要知道类名时,使用@class Xxx告知编译器Xxx是一个类;当编译器需要知道实例变量,继承的类等信息时,使用#import。只有通过指针指向其他类的时候才能使用@class。继承自其他类必须使用#import告知编译器超类信息。使用#import语句循环引用报编译错误,而@class则不会。