我在 xCode 7 中使用了以下方法来显示警报/错误。我知道 alertWithMessageText 现在已被弃用。如果我在 xCode 8 中使用此方法(尽管已弃用),则当用户按下 Ok 按钮时窗口不会关闭。我查看了几十篇帖子,用 beginSheetModalForWindow:completionHandler: 方法替换它,但无法让它工作。一些示例代码将不胜感激。
(当我运行 xCode 7 方法时,我收到以下控制台消息:2016-10-12 15:35:23.537072 eBuyBooks[7886:2192964] [Layout] Detected missing constraint for 。无法放置,因为没有足够的约束完全定义大小和原点。添加缺少的约束,或设置 translatesAutoresizingMaskIntoConstraints=YES 并为您生成约束。如果此视图在 macOS 10.12 及更高版本上手动布局,您可以选择不从您的覆盖。在 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];
}