У меня проблема с изображением UIAlertView
на основной теме. Я не уверен, почему, но он продолжает рушиться, несмотря на то, что я бегу по основной теме. Следующий блок находится на фоновом потоке, но у меня есть предупреждение на основной, как показано ниже:UIAlertView при сбое основной очереди.
void (^removeFromCalendar)(NSString *, NSString *, EKEventStore *) = ^(NSString *error, NSString *eventKey, EKEventStore *eventDB) {
EKEvent *myEvent = [eventDB eventWithIdentifier:eventKey];
NSError *err = noErr;
if(myEvent != NULL && myEvent != (id)[NSNull null]) {
[eventDB removeEvent:myEvent span:EKSpanThisEvent error:&err];
} else {
// Event was not found, nothing to do
return;
}
[eventDB release];
if (!err || err == noErr) {
NSLog(@"Deleted event %@", myEvent.title);
// Show alert on the main thread
dispatch_async(dispatch_get_main_queue(), ^{
// Showing the alert for unattending
NSString *resultString = @"This event was removed from your calendar.";
UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"Info" message:resultString delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil] autorelease];
[alert show];
});
return;
}
error = err.description;
};
Если я закомментировать дно, где он показывает предупреждение, все хорошо. Но для предупреждения я продолжаю получать ошибку EXC_BAD_ACCESS
. Может кто-нибудь объяснить, почему? Это на правильной нити, и я не могу, чтобы жизнь меня поняла, откуда может возникнуть проблема с памятью!
Если вы не имеете точку останова, установленную на исключения Objective-C, добавьте один. Он ** обычно ** дает лучшую информацию об ошибках, чем EXC_BAD_ACCESS. –
Как это сделать? Это через профайлер? – KVISH
Левый вид главного экрана Xcode имеет набор значков вверху. Один из них называется Breakpoint Navigator. Откройте это представление, а внизу добавьте «+» для добавления точки останова. –