我在xCode 7中使用了以下方法来显示警报/错误。我知道alertWithMessageText现已弃用。如果我在xCode 8中使用此方法(虽然已弃用),则当用户按下“确定”按钮时窗口不会关闭。我已经查看了几十个帖子,用beginSheetModalForWindow:completionHandler:方法替换它,但无法让它工作。一些示例代码将非常感激。
(运行xCode 7方法时,我收到以下控制台消息: 2016-10-12 15:35:23.537072 eBuyBooks [7886:2192964] [布局]检测到缺失约束。它无法放置,因为没有足够的约束来完全定义大小和原点。添加缺少的约束,或设置translatesAutoresizingMaskIntoConstraints = YES,并为您生成约束。如果此视图在macOS 10.12及更高版本上手动布局,您可以选择不从覆盖中调用[super layout]。在DETECTED_MISSING_CONSTRAINTS上设置断点以进行调试。此错误仅记录一次。)
// in Header file
NSAlert * alertWithOkButton;
.....
// in implementation file
- (void)errorPopUp:(NSString *)reason detail:(NSString *)detail {
alertWithOkButton = [NSAlert alertWithMessageText:reason
defaultButton:@"Ok"
alternateButton:nil
otherButton:nil
informativeTextWithFormat:@"%@",detail];
[alertWithOkButton runModal];
}
答案 0 :(得分:0)
尝试将其作为替代品,不推荐使用:
// in implementation file
- (void)errorPopUp:(NSString *)reason detail:(NSString *)detail {
NSAlert *alert = [[NSAlert alloc] init];
[alert setMessageText:reason];
[alert setInformativeText:detail];
[alert setAlertStyle:NSCriticalAlertStyle]; // or NSWarningAlertStyle, or NSInformationalAlertStyle
[alert addButtonWithTitle:@"OK"];
[alert runModal];
}
要设置符号断点,请转到断点导航器(项目窗口左上角的小轮廓箭头),单击窗口左下角的“+”,选择“符号断点”并输入{{1}为符号。
如果断点被击中,您可以在调试器视图中输入DETECTED_MISSING_CONSTRAINTS
以打印缺少约束的视图的描述。