美文网首页
Object-C语言的特性

Object-C语言的特性

作者: 九月oc | 来源:发表于2020-11-22 22:53 被阅读0次

一、分类

分类的作用:

声明私有方法, 分解大体积的文件。

分类是在编译的时候进行的。

一个类如果有多个分类文件。 在分类的方法里是存储在一个hashMap中的

当多个分类重写同名方法的时候会调用最后一个被编译的同名方法。

二、KVO KVC

KVO是观察者模式的实现。

使用了isa混写(isa-swizzling)来实现KVO

使用setter方法改变值KVO会生效

调用setter方法

- (void)setValue:(id)value{ [self willChangeValueForKey:@"key"]; [supersetValue:value]; [self didChangeValueForKey:@"key"];}

在调用的时候 runtime会生成一个子类 并且把当前类的isa指针指向这个子类

三、assign 和 __weak的区别

__weak只可以修饰对象类型的属性

而assing可以修饰对象和基本类型 

但是__weak不会产生野指针是安全的。 但是assign是不安全的 可能会

相关文章

  • Effective Object-C 52:1-5

    一、熟悉Object-C Object-C : 基于C语言基础 + 面向对象特性。 1.了解Object-C 的起...

  • Effective Object-C 52:23-28

    四、协议与分类 Object-C 语言特性: “协议” (protocol)、“分类”(Category) 23....

  • Object-C 语言特性

    分类Category 1.分类的作用? 声明私有方法和使用 2. 编译时没有把方法添加到类 3. 把framewo...

  • Object-C语言的特性

    一、分类 分类的作用: 声明私有方法, 分解大体积的文件。 分类是在编译的时候进行的。 一个类如果有多个分类文件。...

  • 懒人做开发系列:利用Object-C特性埋点

    懒人做开发系列:利用Object-C特性埋点 懒人做开发系列:利用Object-C特性埋点

  • iOS的Runtime讲解与使用

    一、Runtime简介 object-c是基于C语言加入了面向对象特性和消息转发机制的动态语言,除编译器之外,还需...

  • Object-C语言相关特性

    接下来主要讲一下OC语言的相关特性分别从以下几个方面进行讲解: 分类 扩展 关联对象 扩展 代理 通知 KVO K...

  • iOS Runtime基础

    Runtime是Object-C的一种特性,本人并不感冒。不过这块内容却很流行,也是Object-C动态特性的来源...

  • iOS OC方法调用过程(消息转发objc_msgSend()补

    runtime赋予OC的动态特性 Object-C因为有了强大的runtime而成为一门动态语言,其动态性体现在:...

  • Category 面试题总结

    Category(分类)这一Object-C 2.0之后添加的语言特性,在日常开发中使用频率非常高。而且面试时Ca...

网友评论

      本文标题:Object-C语言的特性

      本文链接:https://www.haomeiwen.com/subject/hvrkiktx.html