protocol

在protocol中使用property,只会生成setter和getter方法的声明。

当使用的时候

  • 使用systhsize name; 自动生成getter、setter
  • 或者手动自己添加getter、setter和实例变量

category

和protocol不同的是,在category的时候已经不允许在类中在加入实例变量。(编译的时候,对象的内容布局已经确定)需要借助函数objc_setAssociatedObject 和 objc_getAssociatedObject,在运行时添加属性。

在runtime中,所有关联对象都由AssociationsManager管理。AssociationsManager里面是由一个静态AssociationHashMap来存储所有关联对象。而map的key是这个对象的指针地址。

protocol 和category如何使用property?

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-26
  • 2022-12-23
  • 2021-10-28
  • 2021-07-05
猜你喜欢
  • 2021-09-12
  • 2022-12-23
  • 2022-03-01
  • 2022-12-23
  • 2021-09-05
  • 2021-11-30
相关资源
相似解决方案