我的应用程序中有一个相当大的 View Controller ,我想通过将一些功能分成几类来清理它。我阅读了有关如何实现类别的内容,并且:
#import "StatsVC.h"
@interface StatsVC (TableViewDelegate)
@end
作为我的.h(类别叫做StatsVC+TableViewDelegate)。 我的实现是这样开始的:
@implementation StatsVC (TableViewDelegate)
我在类别中多次访问变量,这些变量是原始类的 iVar。我已经阅读过,据说这是允许的,但是对于类别中的 iVar 的每次使用,我都会收到此错误消息:
'使用未声明的标识符'iVar'
有人知道为什么会这样吗?
谢谢,
最佳答案
您绝对可以从类别中的方法访问实例变量。类别向类添加方法——在类接口(interface)中声明的方法与在该类的类别中声明的方法在运行时没有真正的区别。您可能需要显示更多代码才能获得好的答案。现在,我的前两个猜测是:
您正在尝试从类方法而不是实例方法(即以
+
开头的方法)访问 ivars而不是-
.您声明 ivar 的方式有问题。
关于iphone - 类别不识别 Ivars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9050672/