首页 > 代码库 > 我完成基础测试啦!!!!

我完成基础测试啦!!!!

  今天我终于把黑马入学流程里的基础测试提交了,有一种如释重负的感觉。下一步就是OC的入学基础测试了,fight!fight!fight!

  这几天主要任务是C语言基础测试,但是也夹杂这学了一些OC基础知识。主要学习了:

先复习下类的本质:其实类也是一个对象,对象都有类型,类对象本身是个class类型的对象

创建类对象的过程:

先利用class某某类对象,获取内存中的类对象

class(在class中的声明中已经包含*) c(变量名) = [类对象  class]-》这就是class类型的类对象

*一个类在内存中只有一个类对象

然后再利用类对象,创建类名类型的对象

类的加载过程:先加载父类再加载子类

~当程序启动时,系统就会加载所有的类和分类,加载后会调用每个类的和扥类的+load方法,只会调用一次。

~当第一次使用某个类时,就会调用当前类的+initialize类方法,相当于类的初始化。

+initialize的用途:监听类第一次使用时的情况或者可以做一些别的事情。

 

1.类的分类

作用:在不修改原来类的的代码,而给某一类扩充增加一些方法

格式:

@interface 类名(分类名称)

@end

@implementation 类名(分类名称)

@end

使用注意:

分类只能增加方法,不能增加成员变量;分类方法实现中可以访问原来类中声明的成员变量;分类可以从新实现原来的方法,但是会覆盖其方法,就会导致原来的方法没法使用。

2.description方法:description是NSLog里的一个方法,默认情况下利用NSLog和@输出对象时,输出结果是:《类名  内存地址》

当时description调用对象时:

~~会调用对象的description方法,然后拿到description方法的返回值,类型是(NSString *)显示在屏幕上:description方法默认的时“类名  内存地址”(也就是说可以通过重写description方法中的返回值改变输出结果)~~

当使用NSLog输出类对象时:

~~会调用类的description类方法,拿到description的返回值(NSString *)显示到屏幕上会打印出  类名  ~~

3.SEL方法:每个方法都有一个SEL类型的数据相对应。

系统中调用方法的原理:会把某个方法包装成SEL类型的数据,根据SEL数据找到对应的方法地址,根据方法地址调用对应的方法

SEL的创建:

1.  SEL  s = @selector(方法名)

SEL s = NSSelectorformString(@"khdksh")

间接调用对象方法的方法:[对象  performSelector:@selector(方法名)]

我完成基础测试啦!!!!