Проблема приведения типов в NSDate к NSString? - PullRequest
1 голос
/ 28 мая 2010

Я разрабатываю приложение, в котором обнаружил нелепую проблему приведения типов, я не могу набрать приведение NSDate к NSString.

NSDate *selected =[datePicker date];
NSString *stringTypeCast = [[NSString alloc] initWithData:selected
                                       encoding:NSUTF8StringEncoding];

Сверху, фрагмент кода datePicker является объектом UIDatePickerController.

Ответы [ 4 ]

6 голосов
/ 28 мая 2010

Один метод будет:

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

См. документацию .

Другой будет:

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

См. документацию .

Более подходящим методом будет:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSString *dateString = [dateFormatter stringFromDate:selected];
[dateFormatter release];

Это автоматически вернет дату в виде строки, отформатированной в локальный формат даты пользователя. См. документацию .

4 голосов
/ 28 мая 2010

Используйте NSDateFormatter для преобразования объектов NSDate в объекты NSString. Преобразование типов отличается от преобразования типов.

2 голосов
/ 28 мая 2010

Ты не хочешь этого делать. Что вы действительно хотите сделать, это использовать NSDateFormatter, чтобы правильно преобразовать NSDate в NSString. Иными словами, это не правильно ™.

0 голосов
/ 28 мая 2010

Для используемого вами метода требуется NSData, а не NSDate, поэтому он не работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...