如何修复错误 - “@interface interfaceName:someEnumeration”给出错误“找不到接口''someEnumeration'..”

时间:2010-06-07 10:11:23

标签: objective-c soap wsdl groupwise

如何解决“无法找到接口声明'someEnumeration', 'interfaceName'的超类“错误?

哪些步骤会重现这个问题?

  1. 编译Wsdl2ObjC

  2. 定位groupwise.wsdl文件

  3. 修复输出csource代码的无效文件名,如“.h”+“。m”和 源文件中的对象

  4. 在代码中进一步使用@interface之前提升其中一个!

  5. 预期产量是多少? 工作的东西

    你看到了什么?

    33个错误。 “继承”仅来自类的一个typedef枚举对象的3个类似的继承。所有错误都是典型的:

    typedef enum types_StatusTrackingOptions {
     types_StatusTrackingOptions_none = 0,
     types_StatusTrackingOptions_None,
     types_StatusTrackingOptions_Delivered,
     types_StatusTrackingOptions_DeliveredAndOpened,
     types_StatusTrackingOptions_All,
    } types_StatusTrackingOptions;
    
    types_StatusTrackingOptions types_StatusTrackingOptions_enumFromString(NSString *string);
    NSString * types_StatusTrackingOptions_stringFromEnum(types_StatusTrackingOptions enumValue);
    @interface types_StatusTracking : types_StatusTrackingOptions { ...
    

    这里我有错误“无法找到接口声明 对于'types_StatusTrackingOptions','types_StatusTracking'的超类。“

    您使用的是哪个版本的产品?什么操作系统? Wsdl2ObjC - rev 168,OS - Mac OS X 10.6.2,iPhone SDK - 3.2,Simulator - v.3.1.2 - 3.1.3,wsdl - for GroupWise v.8, NDK于2008-12-23发布,附带了wsdl和xsd文件。

    P.S。可以从http://code.google.com/p/wsdl2objc/issues/detail?id=99

    下载GroupWise.wsdl + .xsd文件

1 个答案:

答案 0 :(得分:1)

你(他们?)试图做什么?您无法继承enum。只能继承Objective-C类。

也许你想要合成而不是继承?

@interface types_StatusTracking : NSObject {
   types_StatusTrackingOptions options;
}
@property (assign) types_StatusTrackingOptions options;
...
@end