NSDateformatter (кажется) вызывает исключение.Но процесс не завершается с сообщением об ошибке и стеком вызовов - PullRequest
0 голосов
/ 03 октября 2011

К сожалению, Mac, на котором я работаю, не позволяет нам подключать отладчик, поэтому я не знаю, в чем причина.

Поговорим о крещении огнем.

Учебная программа находит четыре заполнителя и заменяет их текстом из четырех текстовых полей.

NSString *stringTemplate = [[NSString alloc] initWithString:txtTemplate.text];
// My pseudo debugger
NSLog(@"%@", stringTemplate);


//Start Weird Exit
NSDateFormatter *dateShortFormat = [[[NSDateFormatter alloc]init]autorelease];
    [dateShortFormat setDateFormat:NSDateFormatterShortStyle];
//End Weird Exit    

//Pseudo debugger
    NSLog(@"%@", txtPlace.text);
    [stringTemplate stringByReplaceingOccurancesOfString:@"<place>" withString:txtPlace.text];
   //txtDate is a TextField
    NSLog(@"%@", txtDate.text);
    [stringTemplate stringByReplaceingOccurancesOfString:@"<date>" withString:[NSString stringFromDate:[dateShortFormat dateFromString:txtDate.text]]];
   //There has to be a shorter way to type that. . .

    NSLog(@"%@", txtVerb.text);
    [stringTemplate stringByReplaceingOccurancesOfString:@"<verb>" withString:txtVerb.text];
    NSLog(@"%@", txtNumber.text);
    [stringTemplate stringByReplaceingOccurancesOfString:@"<number>" withString:txtNumber.text];
    txvStory.text =stringTemplate;

Так что я никогда несм. четыре нижних сообщения консоли.Но я вижу самое первое сообщение.

Как всегда, любые улучшения будут с благодарностью.Что-нибудь от управления памятью до главного принципа дизайна.Как ни странно, в реальной жизни сложно получить много советов.Но в Интернете кажется, что он идет налево и направо.

1 Ответ

0 голосов
/ 03 октября 2011

Похоже, что в вашем сообщении либо есть опечатки, либо вы действительно отправляете недействительные сообщения в ваш форматировщик даты. У вас есть:

[stringTemplate stringByReplaceingOccurancesOfString ...

Где вы должны иметь

[stringTemplate stringByReplacingOccurancesOfString ...

Другими словами, в "Replacing" нет "e"

...