Objective-C и сравнить две NSStrings

#objective-c #cocoa #macos #xcode4

#objective-c #cocoa #macos #xcode4

Вопрос:

Я пытаюсь сравнить 2 NSStrings, чтобы увидеть, совпадают ли они, но мое приложение продолжает сбоить с EXC_BAD_ACCESS, и оно просто показывает мне выходные данные сборки, а не фактическое местоположение в моем коде, в котором оно продолжает сбоить.

Вот мое сравнение:

 NSString *compareAlarm = [lblTime stringValue];
[lblTime setStringValue:[self getTime]];

if ([sAlarmTime isEqualToString:compareAlarm])
{
    NSLog(@"Alarm Hit");
}

[compareAlarm release];
  

Кто-нибудь понимает, почему это приведет к сбою? Если я закомментирую оператор if, сбой прекратится.

Заранее благодарю.

Комментарии:

1. какой тип lblTime? является ли compareAlarm нулевым при отладке?

Ответ №1:

вы не сохраняете их compareAlarm , а освобождаете.

Комментарии:

1. Это была моя проблема. Я освобождал объект, а не сохранял его. Спасибо.

2. @dotNetNinja не забудьте отметить ответ как принятый (галочка слева), если он решил вашу проблему.