3

可能重复:
NSDate initWithString

我写了以下代码行:

[[NSDate alloc] initWithString:@"2013-03-24 10:45:32 +0200"];

当我尝试编译时,我收到以下错误消息:

ARC 语义问题:“NSDate”没有可见的@interface 声明选择器“initWithString:”

在项目中有以下内容:

#import <Foundation/Foundation.h>

为了确保包含该类,我尝试了以下行,该行编译没有问题:

[[NSDate alloc] init];

我的代码有什么问题?

XCode 4.6 版。
项目 iOS 6.1 中的基础 SDK。

4

1 回答 1

4

iOS 平台的 NSDate 类中不存在 initWithString 函数,因为您需要首先使用 NSDateFormatter 指定一个日期格式化程序,它将日期和时间的文本表示形式转换为 NSDate 对象。使用这样的东西:

NSString *currentDateString = @"2013-03-24 10:45:32";
NSDateFormatter *dateFormater = [[NSDateFormatter alloc] init];
[dateFormater setDateFormat:@"yyyy-MM-DD HH:mm:ss"];
NSDate *currentDate = [dateFormater dateFromString:currentDateString];
于 2013-02-05T08:02:30.397 回答