- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个简单的Cocoa应用程序,没有核心数据或多文档支持。在 Mac Pro、OS X 10.6.6、Xcode 3.2.3 上运行。
我已将应用程序简化为 AppDelegate 类中的以下代码:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSOpenPanel *openPanel = [NSOpenPanel openPanel];
[openPanel runModal];
return;
}
我将在调试器中运行我的应用程序。正如预期的那样,将会出现一个不太有用的 OpenPanel。我将单击“取消”,它就会消失。这一切都在预料之中。当我单击 [Command + Q] 退出应用程序时,UI 将消失,但调试器将指示应用程序仍在运行(控制台输出也是如此)。
根据我正在阅读的所有信息,我不需要做任何其他事情就可以使其正常运行。我已经下载了几个有关“打开面板”用法的示例,但大多数都使用已弃用打开模式的方法,以提供附加信息作为参数。 FWIW,我尝试了这些方法,但仍然看到相同的结果。
最后一项,当“打开”对话框出现时,有那么一瞬间,我看到一个消息框,询问我是否希望我的应用程序接收传入连接。对话框很快消失。我不知道这是否是我的问题的一部分。 [更新 - 这涉及我的防火墙被打开的情况。]
是的,我对 Objective C 相当陌生,但对一般编程并不熟悉。非常感谢任何智慧之言!
2011.02.07 - 更新:
我已经逐行运行了调试器,没有发生任何事件。控制台窗口中没有任何程序故障的迹象。
我说调试器在 [Command + Q] 之后仍然处于事件状态,因为“停止进程”工具栏按钮仍然处于启用状态,“中断”按钮也是如此。此外,控制台表明,在我告诉应用程序终止(通过菜单或键盘命令)后,它仍在运行。以下是从运行开始到退出应用程序后的完整控制台输出。
Program loaded.
run
[Switching to process 62370]
Running...
事件监视器(系统工具)将显示我的应用程序正在终止(不再显示为进程),但调试器仍然不会转换到“编辑”模式 - 如果我告诉 Xcode 再次运行调试器,它会询问如果可以停止当前的调试 session ,请告诉我。如果我在 Windows 中,我会开始寻找后台线程来保持进程处于事件状态,但据我所知,NSOpenPanel 不应该做类似的事情。
我进一步简化了程序,只不过是创建一个全新的 Cocoa 应用程序并插入上面的代码片段 - 没有对模板项目进行任何其他添加或以任何方式进行更新。
最后,当应用程序在 Leaks Performance Tool 下运行时,在创建面板但从未使用面板时一切都运行良好。但是,当创建并实际使用时,在运行结束时,我将在工具“insufficient task_for_pid特权(leakagent64)”中收到以下消息。谷歌搜索这很痛苦。如果我没看错的话,调试器没有足够的权限来完全杀死目标进程???现在这听起来很愚蠢但是......这没有意义!
另一个更新 - 我刚刚下载并运行了 FunHouse,它是也使用 NSOpenPanel 的 SDK 示例应用程序之一。嗯,我不觉得很特别吗?它表现出完全相同的行为。因此,我得出的结论是,要么苹果的代码中有错误,要么我的机器很特殊并且很困惑,最后,这不是我的代码有问题。这是最好的部分。明天,我将使用 friend 的 Mac,看看他的机器上是否出现相同的行为。
这也太奇怪了。
最佳答案
我重新启动了我的盒子,让它开始工作,发现它非常有用!我假设这是固定的,与工作时相比,与家里的任何其他连接设备无关。
如果它在家里重新出现,那么就是网络/设备问题。感谢大家的意见和建议!非常感谢。
关于objective-c - 当调用 NSOpenPanel 的 runModal 时,我的应用程序将无法正确终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4917900/
NSOpenPanel 是否可以仅显示具有某些预定义属性的文件,而所有其他属性都淡出? 我想显示文件,例如具有特定创建或修改日期的文件。 非常感谢! 最佳答案 NSOpenPanel 有 a dele
我以这种方式使用 NSOpenPanel: NSOpenPanel *op=[NSOpenPanel openPanel]; [op setDelegate:self]; [o
如何在 Cocoa-Applescript 中创建 NSOpenPanel?有什么好的教程吗?我熟悉 Applescript,但不太熟悉 Cocoa 部分。 NSOpenPanel 需要nib 吗?我
我正在使用事件监视器监视我的应用程序,每当调用 NSOpenPanel 时,应用程序都会显示为具有 9 个线程,并保持这种状态,直到应用程序关闭。 有没有办法释放这些线程?,或者我只是误解了线程数的含
我使用 NSOpenPanel 让用户选择文件,如下所示: NSOpenPanel *openPanel = [[NSOpenPanel alloc] init]; openPanel.c
有没有办法强制 NSOpenPanel 关闭,以便我可以在调试时看到屏幕?调试时我在 Xcode 中看不到其背后的代码,也无法移动面板。 这就是我所拥有的: - (IBAction)openImage
我有一个 NSOpenPanel,我想在用户单击“确定”后对选择进行一些验证。我的代码很简单: void (^openPanelHandler)(NSInteger) = ^(NSInteger re
我想向NSOpenPanel添加一个复选框,然后在接收所选文件时查询其状态。我怎样才能做到这一点? 此外,希望能够根据当前文件选择启用或禁用该复选框。 最佳答案 基于 Joshua Nozzi 和 M
这就是我将打开的面板显示为 float 窗口的方式。 有人可以帮我将面板作为工作表运行吗?窗口对象是mWindow。我使用的许多标准代码都已被折旧。 NSOpenPanel *openPanel =
只是看看我会用什么来只允许选择特定文件(现在是图像) setFileTypesArray 返回 NSOpenPanel may not respond to -setFileTypesArray: 然
自 OS X 10.11 起,即使使用 setTitle,标题栏似乎也不再出现:有人知道发生了什么以及如何恢复旧行为吗? 最佳答案 来自AppKit Release Notes for OS X v1
我有一个在沙箱中运行的应用程序,它使用 NSTask 启动帮助程序应用程序包(帮助程序包含在应用程序包中)。 使用正确的权利,主应用程序能够使用 NSTask 启动帮助程序,并且继承沙箱而不会崩溃。唯
我一直在尝试显示一个窗口,要求用户选择一个文件,最终我做到了。问题是,Xcode 提示我正在使用的方法已被弃用。我查看了class reference ,但从 Mac OS 10.6 开始,“运行面板
这个问题在这里已经有了答案: Title bar missing in NSOpenPanel? (1 个回答) 关闭 5 年前。 我正在构建一个工具栏应用程序,其菜单包含一个显示 NSOpenPa
我正在为 rsync (RsyncOSX) 开发一个 GUI,在下一个版本中计划添加一个用于选择目录的 GUI。前段时间我在使用 NSOpenPanel 时遇到了一些稳定性问题,但现在我想再试一次。但
我现在真的尝试了所有方法,但我无法让 NSOpenPanel 允许选择应用程序包。我需要它在我的应用程序中成为可能,让用户选择应用程序包的路径。我的代码如下所示: var fileDial
我查看了其他答案,但似乎对我的情况没有任何帮助。 我有一个 viewController 类,其中包含一个按钮的 IBAction。此按钮应从该 viewController 打开一个 NSOpenP
我试图确定 NSOpenPanel 在实际关闭之前何时关闭。我需要这样做,以便我可以覆盖另一个窗口,并在其顶部打开打开面板的屏幕截图以进行动画处理。不幸的是,您似乎能够访问的所有通知似乎都会在窗口关闭
这些错误意味着什么? 这是我的代码: [browsePanel beginWithCompletionHandler:^(NSInteger returnCode) { if (returnC
尝试确定 NSOpenPanel 是否已返回文件或目录 我使用了 Apple 的 fileExistsAtPath: 示例代码,它对于 fontPath 效果很好但似乎不适用于 openpanel不确
我是一名优秀的程序员,十分优秀!