NSDate到NSString中类型转换的问题?

Pra*_*... 1 iphone objective-c type-conversion

我开发一个应用程序,其中我发现型铸造一个荒谬的问题,我不能够强制类型转换NSDateNSString.

NSDate *selected =[datePicker date];
NSString *stringTypeCast = [[NSString alloc] initWithData:selected
                                       encoding:NSUTF8StringEncoding];
Run Code Online (Sandbox Code Playgroud)

从,上面的代码片段datePicker是一个对象UIDatePickerController.

Jam*_*ers 6

一种方法是:

NSString *dateString = [NSString stringWithString:[selected description]]

请参阅文档.

另一个是:

NSString *dateString = [NSString stringWithFormat:@"%@", selected]

请参阅文档.

更合适的方法是:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSString *dateString = [dateFormatter stringFromDate:selected];
[dateFormatter release];
Run Code Online (Sandbox Code Playgroud)

这将自动以格式化为用户本地日期格式的字符串形式返回日期.请参阅文档.