1

这是我的常量.h:

@import Foundation;

typedef NS_ENUM(NSUInteger, BarcodeType) {
    kNormalBarcode,
    kNoBarcode,
    kGenericBarcode,
    kInvalidBarcode,
    kComicBarcode
};

@interface Constants : NSObject

@end

这是一个使用它的函数:

。H:

@interface Helper : NSObject

- (BarcodeType)barcodeType:(NSString *)barcode;

米:

#import "Constants.h"
...

- (BarcodeType)barcodeType:(NSString *)barcode
{
   return kInvalidBarcode;
}

为什么我的函数会收到此警告,我需要更改什么来修复它?

Conflicting return type in implementation of 'getBarcodeType:': 'id' vs 'BarcodeType' (aka 'enum BarcodeType')

这段代码似乎适用于旧版本的 Xcode。

谢谢!

4

1 回答 1

2

检查您的 .h 文件。我的猜测是您对方法 uses 的声明id,这与您在返回 type 的 .m 文件中的定义相冲突BarcodeType。NSEnum 值不是对象,因此id无效。您需要更正声明,以便返回类型与实现匹配。

于 2013-06-20T22:37:59.527 回答