首页 > 手机专区 > 手机APP >

iOS如何为类别添加成员变量

来源:互联网 2023-03-03 23:38:53 392

首先我们需要明确的一个问题是类别是不能直接添加成员变量的,但是可以通过关联对象的方式间接添加成员变量,我们使用之前需要在头文件导入#import objc/runtime.h>框架。Cwb办公区 - 实用经验教程分享!

工具/原料

  • Mac

方法/步骤

  • 1

    我们使用关联对象主要用到了runtime中的三个方法,实现添加,获取以及移除功能。Cwb办公区 - 实用经验教程分享!

    iOS如何为类别添加成员变量Cwb办公区 - 实用经验教程分享!

  • 1此文章未经授权抓取自百度经验
  • 2

    其中涉及到一个枚举参数就是objc_AssociationPolicy,这个枚举主要是提供存储策略,具体使用如下。Cwb办公区 - 实用经验教程分享!

    iOS如何为类别添加成员变量Cwb办公区 - 实用经验教程分享!

  • 3

    我们以为NSObject添加为例,然后创建一个NSObject的类别,然后创建一个名为name的属性,我们使用copy来,如下。Cwb办公区 - 实用经验教程分享!

    iOS如何为类别添加成员变量Cwb办公区 - 实用经验教程分享!

  • 4

    然后我们在.m的实现中实现setter与getter方法,在set方法中我们使用objc_setAssociatedObject来设置关联对象,在get方法中我们使用objc_getAssociatedObject来获取关联对象。Cwb办公区 - 实用经验教程分享!

    iOS如何为类别添加成员变量Cwb办公区 - 实用经验教程分享!

  • 5

    如果我们需要移出该类别的所以关联对象,可以使用objc_removeAssociatedObjects来进行,传入的参数为self。Cwb办公区 - 实用经验教程分享!

    iOS如何为类别添加成员变量Cwb办公区 - 实用经验教程分享!

  • 6

    使用的时候按照正常的new一个对象之后进行赋值和获取值即可,如下。Cwb办公区 - 实用经验教程分享!

    iOS如何为类别添加成员变量Cwb办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!Cwb办公区 - 实用经验教程分享!


    标签: Mac苹果ios软件开发

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码