实现NSCoding协议

时间:2016-01-24 14:57:32

标签: objective-c class protocols nscoding

我正在开发一个obj-c项目,我想为一个类实现NSCoding协议,但我无法做到正确。代码如下所示:

#include <Foundation/Foundation.h>

class Object: NSObject, NSCoding {
    //Somecode
}

我收到错误:“Base说明符必须命名一个类”和“Expected class name”。我做错了什么?

1 个答案:

答案 0 :(得分:2)

您声明的是C++类,而不是Objective-C类,并且您无法从一种语言继承到另一种语言。您需要将类声明更改为

@interface Object: NSObject <NSCoding> {
    // iVar declarations
}

// method and property declarations

@end

虽然不确定如果您的课程已经定义了C++方法,它会有多大帮助,因为您需要将这些方法移植到Objective-C个定义。

我强烈建议您浏览我在评论中发布的链接,并阅读有关使用类和对象的Apple's documentation。这将有助于您进行过渡。