您的位置:首页 > 移动开发 > Objective-C

ios开发(四):基本语法 Objects, Classes, and Messaging

2013-11-27 16:23 288 查看
这篇文章记录一下objective c的基本语法。

1) Objects, Classes, and Messaging

id anObject; id 可以表示任意的数据类型。

nil: 表示任意的空对象。

typedef struct objc_object {

Class isa;

} *id;

typedef struct objc_class *Class;

isa是个指针,这个就实现了语法的动态绑定功能。

message: 其实就是一些函数,在objective c中就叫message,

[receiver message]

[myRectangle setOriginX: 30.0 y: 50.0]; //多参数例子

其实objc也支持dot来实现变量的调用,这是一个语法糖。

class

int i = sizeof(Rectangle); 这个看起来很C的语法,在objc中就变成一个操作符号了。

if ( [anObject isMemberOfClass:someClass] )

if ( [anObject isKindOfClass:someClass] )

上面两个的区别是kindof的识别范围更广包括继承关系的class

instance的创建

id myRectangle;

myRectangle = [Rectangle alloc]; alloc就是给class分配内存, 在objc中所有的对象都在heap上。

singlton

static MyClass *MCLSSharedInstance;

@implementation MyClass

+ (MyClass *)sharedInstance

{

// check for existence of shared instance

if (self == [ThisClass class]) {

// Perform initialization here.

...

}

// create if necessary

return MCLSSharedInstance;

}

// implementation continues



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: