2

我是 IOS 新手,但我尽可能地向前迈进。

我搜索了这个网站和谷歌,但没有找到我的问题的答案,甚至没有任何相似之处。

我正在使用文档中声明的方法(我实际上是从网站上借用了这一行以获取时区偏移量(以小时为单位)):

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] initWithDateFormat:@"zzz" allowNaturalLanguage:NO];

但是编译器错误消息说:

'NSDateFormatter' 没有可见的@interface 声明选择器'initWithDateFormat:allowNaturalLanguage:'

当我尝试自动完成时,它不建议使用这种特定init方法,只有initinitWithCoder.

我错过了一些必需的进口吗?我以为这是Foundation.h.

任何帮助将不胜感激。

谢谢。

杰森

4

2 回答 2

7

该方法NSDateFormatter initWithDateFormat:allowNaturalLanguage:不是 iOS 的一部分。该方法仅适用于 Mac。对于 iOS,请执行以下操作:

NSDateFormatter* dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"zzz"];
于 2013-02-27T23:53:57.003 回答
2

你得到

No visible @interface for 'NSDateFormatter' declares the selector 'initWithDateFormat:allowNaturalLanguage:'

因为 iOS 不支持这个选择器。只有 OS X。

在这篇文章中更详细地解释了: 为什么一个记录在案的 NSDateFormatter 初始化方法没有被识别?

Also, the Apple Developer Libraries are really helpful. NSDateFormatter Class Reference: https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/Reference/Reference.html. It states, "iOS Note: iOS supports only the 10.4+ behavior. 10.0-style methods and format strings are not available on iOS." Link to new formatters: https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DataFormatting/DataFormatting.html#//apple_ref/doc/uid/10000029i

于 2013-02-27T23:56:17.167 回答