从另一个NSAlert的didEndSelector调用NSAlert

toa*_*tie 2 macos cocoa objective-c nsalert

我需要根据另一个NSAlert的回复提出一个NSAlert.但是,当我尝试从第一个的didEndSelector调用它时,会发生各种令人讨厌的事情(比如我的文档窗口消失,并且警告有关打印到控制台的排序问题).

有什么想法吗?

Lei*_*tzn 5

你要做的是"链接"警报.

为此,您需要orderOut:在警报窗口中调用.

这是文档:

如果要在模态委托执行响应返回值的操作之前从alertDidEndSelector方法中解除工作表,请将orderOut :( NSWindow)发送到通过将窗口发送到alert参数获得的窗口对象.这允许您链接工作表,例如,通过在alertDidEndSelector方法中显示下一个工作表之前解除一个工作表.请注意,在调用alertDidEndSelector方法之前,应该注意不要在程序中其他位置的工作表上调用orderOut :.