初次接触OC所学习到需要记录的知识点

1.id类型

基本概念
id类型可以代表所有对象的类型,任意类的对象都可赋值给id类型的变量。id类型其实就是万能类型的指针。当通过id类型进行调用时,需要注意OC将会执行动态绑定。所谓动态绑定,是指OC将会跟踪对象所属的类,它会在运行时判断该对象所属的类,并在运行时确定需要动态调用的方法,而不是在编译时确定要调用的方法。
代码实现:

以最简单的为例,接口部分与实现部分就不展示 就是最简单的输出,
要调用对象时使用id类型的就在main函数中修改一下就行了
需要注意的时id类型为指针 所以再次使用时不需要再打 *

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        student *p = [[student alloc] init]; //创建一个student对象
        [p speak];
//    使用万能指针id类型这样写:
//      id p = [[student alloc] init]; //创建一个student对象
//      [p speak];
    }
    return 0;
}

总结:
1.id是一种通用的对象类型,其可以用类存储属于任何类的对象,可以理解为万能指针
2.在id的定义中,已经包装好了*号,id指针只能指向os的对象
3.不需要强制类型转换,id可以直接使用
4.编译器看到id以后,认为是动态类型,不在检查类型

2.方法

1.
从功能上看其完全类似于传统结构化程序设计里的函数,但是与其不同的是,方法不能独立存在,所有的方法都必须定义在类里。方法逻辑上要么属于类,要么属于对象。

2.
所有的方法都必须使用“[类 方法]”或着“[对象 方法]”的形式调用。

3.
方法类型标识符要么是 + ,要么是 - ;
其中 +代表该方法为类方法,直接用类名就可以调用;
- 代表该方法为实例方法,必须用对象才能调用。

4.
一旦将一个方法定义在某个类的类体里,方法如果使用了 + 标识符,则这个方法就属于这个类,如果使用了 - 标识符,则这个方法就属于这个类的实例。

5.
方法后面带一个冒号,表明它是带一个形参声明的方法。

在5.2.2 形参个数可变的方法 中提到 在最后一个形参名后增加逗号和三点(,…),则表明该形参可以接收多个参数值,同时需要注意:是通过while循环迭代的方式来确保能正确跳出循环,跳出循环的条件为是否为nil
( Nil:表示无值,任何变量在没有被赋值之前的值都为nil。)
一个方法中最多只能包含一个个数可变的形参。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值