【发布时间】:2013-05-28 16:36:17
【问题描述】:
我的以下代码运行良好,但是当我添加UIAlertView 时,它开始给我exc_bad_access 并且应用程序挂起,
主要思想是在检测到时间戳时显示警报,
任何提示我做错了什么?
- (void) onPayload:(PayloadEvent *) event {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
NSString *header = @"[OnPayload] ";
if (event.payloadType == TYPE_IDENTIFIED) {
if ((event.contentID != -1) && (event.timeStamp == -1)) {
[mUI performSelectorOnMainThread: @selector(Trace:) withObject:[NSString stringWithFormat:@"%@ StaticID detected: %x\t\tConfidence: %f\n", header,(int)event.contentID, event.confidence] waitUntilDone:NO];
}
if ((event.timeStamp != -1) && (event.contentID == -1)) {
[mUI performSelectorOnMainThread: @selector(Trace:) withObject:[NSString stringWithFormat:@"%@ Timestamp detected: %f\t\tConfidence: %f\n", header, event.timeStamp, event.confidence] waitUntilDone:NO];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Poll" message:@"MY alert Poll" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show];
[alert release];
}
}
else if (event.payloadType == TYPE_NOT_IDENTIFIED) {
[mUI performSelectorOnMainThread: @selector(Trace:) withObject:[NSString stringWithFormat:@"%@ Content not marked\n", header] waitUntilDone:NO];
}
else if (event.payloadType == TYPE_MARKED_BUT_NOT_IDENTIFIED) {
[mUI performSelectorOnMainThread: @selector(Trace:) withObject:[NSString stringWithFormat:@"%@ Content marked but not identified\n", header] waitUntilDone:NO];
}
[event release];
[pool release];
}
我的错误出现在这里
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Poll" message:@"MY alert Poll" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil];
[alert show]; <<=====
[alert release];
【问题讨论】:
-
啊,我想可能是版本导致了这个。您可以尝试将警报设置为自动释放吗?或者,通过启用 ARC 来解决所有内存管理问题。
标签: objective-c xcode uialertview