- (void) applicationWillResignActive и сохранение строки -> ОШИБКА - PullRequest
0 голосов
/ 16 июня 2011

Я хочу сравнить две строки после перезагрузки моего приложения. (strold и strnew объявлены глобальными)

Но если я вызываю строку ' strold ' в -applicationWillEnterForeground: , я получаю следующее сообщение об ошибке:

0x011eca62 <+0022> push% edi

0x011eca63 <+0023> mov 0x8 (% edx),% edi (ПЛОХОЙ ВЫХОД ДЛЯ ЭТОЙ ЛИНИИ)

- (void)applicationWillEnterForeground:(UIApplication *)application{

    opendate = [NSDate date];
    NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease];
    [formatter setDateFormat:@"yyyy-MM-dd"];
    strnew = [formatter stringFromDate:opendate];
    NSLog(@"Active %@",strnew);
    NSLog(@"Inctive %@",strold);


}


- (void)applicationWillResignActive:(UIApplication *)application{

    closedate = [NSDate date];
    NSDateFormatter* formatter = [[[NSDateFormatter alloc] init] autorelease];
    [formatter setDateFormat:@"yyyy-MM-dd"];
    strold = [formatter stringFromDate:closedate];

}

Я просто хочу проверить, действительно ли день изменился. Метод существенного времени у меня не сработал.

1 Ответ

2 голосов
/ 16 июня 2011

Вам нужно будет retain strold как есть autorelease d.

strold = [[formatter stringFromDate:closedate] retain];

или

self.strold = [formatter stringFromDate:closedate];

, если strold определено как сохраняемое свойство.

...