iOS 分类为啥不能添加成员变量

iOS 分类为啥不能添加成员变量,第1张

1.从结构体可以知道,有属性列表,所以分类可以声明属性,但是分类只会生成该属性对应的get和set的声明,没有去实现该方法

2.结构体没有成员变量列表,所以不能声明成员变量。

方法可以运行时改变,结构体不能运行时改变,要想改变原结构体,增加一个属性,只能用关联变量的方式,而关联本质是在类的定义之外为类增加额外的存储空间,是一层映射关系

ios中利用类别给已有的类扩展方法是可以的,但是如果直接的添加属性是会报错的。利用runtime可以达到添加属性的目的。

1.先创建一个分类,以下以UIImage为例子。

2.增加需要的属性。

3.导入runtime框架,重写set方法和get方法。

//其中注意以下的参数是用来表示创建的属性的类型的


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11582695.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存