iPhone, если я конвертирую строку даты из одного формата в другой, чтобы сохранить ее, нужно ли конвертировать ее в дату, как? - PullRequest
0 голосов
/ 01 октября 2010

Мне нужно показать дату в определенном формате на экране, но мне нужно сохранить дату в виде строки в другом формате. Я думаю, что это означает, что я должен преобразовать его в дату и обратно в строку.

Как мне это сделать?

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

Я хочу преобразовать строку из дд ММ гггг в гггг-ММ-дд

Он мой код пока ...

NSString *startDateString = btnStartDate.titleLabel.text;
NSDateFormatter *dateStartFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateStartFormatter setDateFormat:@"dd MM yyyy"];
NSDate *datStartDate = [[NSDate alloc] init];
datStartDate = [dateStartFormatter dateFromString:startDateString];

alt text

Ответы [ 2 ]

2 голосов
/ 01 октября 2010

Анализатор предупреждает вас об утечке.Сначала вы присваиваете новый объект datStartDate, а затем сохраняете новое значение с datStartDate = [dateStartFormatter dateFromString:startDateString];, не освобождая предыдущий объект.

Итак, вместо:

NSDate *datStartDate = [[NSDate alloc] init];
datStartDate = [dateStartFormatter dateFromString:startDateString];

Выследует просто написать:

NSDate *datStartDate = [dateStartFormatter dateFromString:startDateString];
1 голос
/ 01 октября 2010

Что ж, вы выделяете место для datStartDate для нового NSDate, а затем заменяете его на совершенно новый NSDate из вашего формата даты (теперь у вас есть память, выделенная для первого NSDate, который никогда не будетбудет использоваться)

Используйте это:

NSDate* datStartDate = [dateStartFormater dateFromString:startDateString];

, затем используйте dateStartFormater или другой NSDateFormatter, чтобы превратить вашу дату в требуемую строку, например:

 [dateStartFormatter setDateFormat:@"yyyy MM dd"];
 NSString* formatedDate = [dateStartFormater stringFromDate:datStartDate];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...