如何在Objective-C中将变量添加到类别?

编程之家收集整理的这篇文章主要介绍了如何在Objective-C中将变量添加到类别?编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
需要创建一个带有新变量的类别(类型为NSArray).

OriginalClass Extension.h:

@interface OriginalClass (Extension) {
    NSArray *_array;
}

@property (nonatomic,retain) NSArray *array;

@end

但是我得到了错误:无法在@interface或@protocol中声明变量.

请帮忙解决问题.

解决方法

正如另一方所说,你不能.虽然有H2CO3指出,你可以使用 associative references.在 Apple Documents

Note that a category can’t declare additional instance variables for
the class; it includes only methods. However,all instance variables
within the scope of the class are also within the scope of the
category. That includes all instance variables declared by the class,
even ones declared @private.

如果你想去关联对象,你可以使用this答案.此外,您可以使用Ole Begemann的this帖子.

总结

以上是编程之家为你收集整理的如何在Objective-C中将变量添加到类别?全部内容,希望文章能够帮你解决如何在Objective-C中将变量添加到类别?所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群
编程之家官方2群
编程之家官方3群
编程之家官方4群

相关文章

猜你在找的C&C++相关文章

运算符重载相当于运算符的函数重载,用于对已有的运算符进行重新定义,赋予其另一种功能,以适应不同的数据类型。我们之前提到过C++中的函数重载,可以根据形参的不同调用不同的函数,那么运算符重载跟函数重载的
C++ 在程序执行时,将内存大致分为代码区,全局区,栈区和堆区四个区域。不同的区域存储不同的数据,赋予不同的生命周期,能够更灵活地进行编程。 代码区:存放函数体的二进制代码,由操作系统管理创建,代码区
众所周知,C面向对象的三大特性为:封装,继承和多态。下面我们就先对封装做一些简单的了解。封装是通过C中的类来完成的,类是一种将抽象转换为用户定义类型的工具。类的定义如下: class circle {
一、map的基本概念 **map中所有的元素都是pair,即"key-value",key起到索引的作用,value是实值。key和value通过一个映射关系来建立联系,**比如在
一、STL的基本概念 STL(Standard Template Library)标准模板库大体上分为六大组件,分别为容器,算法,迭代器,仿函数,适配器和空间配置器,其中最重要的是容器,算法和迭代器,
在C++的学习中,可以把类当作一个模具,类所实例化出来的对象就是根据这个模具所产生的实体,对象可以看作是我们自己创建的一个新的数据类型。本文主要介绍了类对象通过拷贝函数进行初始化,分析了类对象的内存模
在计算机存储数据时必须要知道三个基本要素:信息存储在何处?存储的值为多少?存储的值是什么类型?**因此指针是表示信息在内存中存储地址的一类特殊变量,指针和其所指向的变量就像是一个硬币的两面。**指针一
C/C++解题常用STL大礼包 含vector,map,set,queue(含优先队列) ,stack的常用用法
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注