iphone - 接收者类型 *** 例如消息是前向声明

在我的 iOS5 应用程序中,我有 NSObject States 类,并试图初始化它:

states = [states init];

这里是 States 中的 init 方法:

- (id) init
{
    if ((self = [super init]))
    {
        pickedGlasses = 0;
    }

    return self;
}

但是states = [states init];

这行有错误

receiver type "States" for instance message is a forward declaration

这是什么意思?我做错了什么?

最佳答案

这基本上意味着您需要导入包含States声明的.h文件。

但是,您的代码还有很多其他问题。

  • 您正在对一个对象进行初始化,而没有对其进行+alloc。那行不通
  • 您将对象声明为非指针类型,这也不起作用
  • 您没有在 -init 中调用 [super init]
  • 您已在 header 中使用 @class 声明了该类,但从未导入该类。

https://stackoverflow.com/questions/8815200/

相关文章:

ios - 使用 iOS 将文本复制到剪贴板

ios - Xcode下架构x86_64的重复符号

objective-c - 洗牌 NSMutableArray 的最佳方法是什么?

objective-c - Xcode 4.4 发行说明中提到的 "Objective-C Lite

c - Objective-C : BOOL vs bool

objective-c - 为什么 ARC 仍然需要 @autoreleasepool?

ios - 如何对字符串进行 URL 编码

ios - 从父 iOS 访问容器 View Controller

ios - 缩放 MKMapView 以适应注释图钉?

objective-c - respondsToSelector 的 Swift 等价物是什么?