(1) #import 包含头文件 与#include 作用相同
(2)Object-c类包含两大块代码
1、 接口MyClass.h
@interface MyClass
@end
2、 实现MyClass.m
@implementation MyClass
@end
(3)类名第一个字母大写
(4)标准的类定义格式 :
MyClass.h
@ interface MyClass:NSObject{
//实例变量
}
- (NSString*) sayhello;
@end
MyClass.m
@implementation MyClass
- (NSString*) sayhello{
return @”Hello!”;
}
@end
(5)分配内存与设置初始值
MyClass *myclass=[[MyClass alloc]init];
所有的object-c对象变量都是指针类型的,数据类型的右边要加一个星号。
(6)消息和方法:
+或者- (返回类型)方法名: (参数类型)参数名;
类方法(+):通过发一个消息给类本身来调用
1、 工厂方法:给类分配实例的方法
2、 全局公用方法:可以被其他类调用,不需要实例化
实例方法(-):通过发一个消息给类的实例来调用
- (void) setNumberator: (int) n;
(7)调用方法:
[实例 方法];---------实例方法
[类名 方法];---------类方法
也可以理解为[接收方 消息];
变量 = [实例 方法];--------一个方法可以返回值,保存在变量中
[接收方 名字1:参数1 名字2:参数2 名字3:参数3 …];
(8)Self与this类似,可以调用本类中的方法
(9)可以使用”.”来调用一个变量实例
a.num=3;<=>[a num:3];
(10)nil(空)与C语言的NULL相同
Nil定义一个指向空的类(是class,不是对象)
(11)数据类型:
1 char、int、float、double、long、unsigned short、const、static等
2 字符串:NSString
字符串常量 @” ”
3结构体struct、指针
4 id类型:可以存储任何类型的对象
typedef struct objc_object{
Class isa;
}*id;
Id是指向struct objc_object的一个指针,指向任何一个继承了NSObject类的对象,id是一个指针,在使用时不需要加星号。
Id取代int类型成为默认的数据结构。
5 BOOL YES/NO
6 SEL 选择器:传递函数的方法,与c语言的函数指针、c++的函数引用相似。
- (void)print;
SEL sel = @selector(print);
if([obj respondsToSelector:sel]){//判断该对象是否有相应的方法
[obj performSelector:sel withObject:nil];//调用选择器方法
}
7 Class(类)被定义俄日一个指向struct objc_class的指针。
8 数组,在object-c中有NSArray类,因此很少用到数组。
(12)操作符和控制语句
Object-C使用C语言中的运算符。
判断语句
if...else if...else
switch
循环语句
while
for
do...while
(13)输出函数:NSLog
输入函数:scanf