使用导入的方法获取未声明的标识符错误

时间:2012-12-15 16:45:01

标签: objective-c ios compiler-errors nsdateformatter nslocale

我正在尝试使用Apple记录here的userVisibleDateTimeStringForRFC3339DateTimeString方法。

首先,我创建了一个名为jhsDateFormatter的独立类,并首先从

修改它
- (NSString *)userVisibleDateTimeStringForRFC3339DateTimeString:(NSString *)rfc3339DateTimeString;

要      - (NSMutableString *)userVisibleDateTimeStringForRFC3339DateTimeString:(NSMutableString *)rfc3339DateTimeString:(NSString *)rfc3339DateTimeFormatString;

所以我可以传入第二个参数,这将是所需的日期格式字符串。

然后我将这个新类导入我的视图controller.m:

#import "jhsDateFormatter.h"

以这种方式调用方法:

predicateMutableString = [userVisibleDateTimeStringForRFC3339DateTimeString:dateHolderMutableString :@"yyyy'-'MM'-'dd'"];

predicateMutableString在viewController.h中定义,并在.m。

中合成

我遇到了构建错误:使用未声明的标识符'userVisibleDateTimeSTringForRFC3339DateTimeString

所以我注释掉了我的修改版本并在我的类文件中使用了原始代码和方法签名:

    - (NSString *)userVisibleDateTimeStringForRFC3339DateTimeString:(NSString *)rfc3339DateTimeString;

并以这种方式调用它: enter image description here

我不确定为什么方法调用不被接受。我想我已经匹配了数据类型。

请让我知道你对什么是错误的想法。

由于

1 个答案:

答案 0 :(得分:0)

你可能想要声明你的方法:

+ (NSMutableString *)userVisibleDateTimeStringForRFC3339DateTimeString:(NSMutableString *)rfc3339DateTimeString formatString:(NSString *)rfc3339DateTimeFormatString;

(注意开头的+,以及第二个参数现在被命名的事实 - 你的代码中它是空白的,这是有效但很奇怪。)

然后你会这样称呼它:

predicateMutableString = [jhsDateFormatter userVisibleDateTimeStringForRFC3339DateTimeString:dateHolderMutableString formatString:@"yyyy'-'MM'-'dd'"];

jhsDateFormatter你所做的新课程。

在您的示例代码中,您没有在任何对象上调用该方法,这就是编译器抱怨的原因。