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

本文介绍了Objective-C的基础语法,包括对象、类与消息传递的概念。详细解释了id类型的使用,nil的含义,以及如何通过isa实现动态绑定。同时,文中还探讨了类的使用方式、实例的创建过程以及单例模式的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章记录一下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





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值