0

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

所以首先我创建了一个名为 jhsDateFormatter 的单独类,并首先对其进行了修改

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

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

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

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

#import "jhsDateFormatter.h"

并以这种方式调用该方法:

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

predicateMutableString 在 vi​​ewController.h 中定义并在 .m 中合成。

我得到一个构建错误:使用未声明的标识符'userVisibleDateTimeSTringForRFC3339DateTimeString

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

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

并这样称呼它: 在此处输入图像描述

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

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

谢谢

4

1 回答 1

0

您可能希望像这样声明您的方法:

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

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

然后你会这样称呼它:

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

jhsDateFormatter 你创建的新类在哪里。

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

于 2012-12-15T16:50:30.397 回答