问题标签 [nssavepanel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
objective-c - 为什么 NSOpenPanel/NSSavePanel 显示内存泄漏?
不知道为什么,但是做一个简单[[NSOpenPanel openPanel] runModal];
的操作会造成内存泄漏——在 Leaks Instrument 中可以看到。
好像没了
是自动释放的对象,不应该是ARpool耗尽后自动释放吗?
有没有办法解决这个问题?
objective-c - 确定在基于 NSDocument 的应用程序的保存面板中按下了哪个按钮
在基于 NSDocument 的应用程序中关闭保存对话框时,我应该如何确定按下哪个按钮(保存、取消)?当从菜单中选择保存时,保存面板是 NSDocument 提供的默认面板。
我希望有机会在调用 (BOOL)writeToURL:ofType:error:之前更改一些变量。
谢谢...
objective-c - How can I hide the save panel when I'm using a NSDocument
So I'm trying to play around with WebKit and create my own browser. However, now I'm kind of stuck where I can't hide the save panel when I try to close my window. I can't find any method in the NSDocument reference that hides the panel. Does anyone know how I can solve that? Thanks.
objective-c - NSSavePanel 问题
我对可可编程是半新的,但是我在 C++ 中工作过很多;
我对 NSSavePanel 类有一些问题。每当我使用它时(如下所示),我可以看到(通过使用断点)代码尝试执行结束括号。然后我在 main.h 文件中从 Xcode 获得 BAD_ACCESS 消息。我一生都无法弄清楚我做错了什么。这是代码:
当我对新目的地进行硬编码并删除 NSSavePanel 时,我没有遇到任何崩溃。
提前谢谢您,如果这是一个简单的修复,我深表歉意。
cocoa - NSSavePanel 处理动作
简单的问题:我想处理在我的 NSSavePanel 中按下取消按钮的操作。我将面板与委托类一起使用:
我在文档上看到了这个:
ok:当用户单击面板的 OK 按钮时调用此操作方法。
- (IBAction)ok:(id)sender
但我不知道如何对面板说处理该方法...
谢谢。
core-graphics - NSSavePanel、CGImageDestinationFinalize 和 OS X 沙箱
我正在使用 NSSavePanel 让用户选择要保存到我的应用程序中的图像。一切正常,直到我启用应用程序沙盒和权利。选择已经存在的文件时会出现问题。我的代码是这样的:
// 创建一个指向我们的文件目标的 URL 和一个 CGImageDestination 来保存。CGImageDestinationRef imageDestination = CGImageDestinationCreateWithURL((CFURLRef)[savePanel URL], (CFStringRef)newUTType, 1, NULL); CGImageDestinationAddImage(imageDestination, cgimage, (CFDictionaryRef)metaData); const bool 结果 = CGImageDestinationFinalize(imageDestination);
它在选择新文件来保存图像时起作用,但是当我选择现有文件时,它会在现有文件之外创建奇怪的命名文件,并且无法覆盖目标 url 的内容。更糟糕的是,我没有得到任何错误回报,也无法检测到故障。这是 CoreGraphics 或我的代码中的错误吗?这个问题有什么解决方法吗?
objective-c - 从 plist 中检索允许的文件类型的智能方法
设想:
我喜欢在Info.plist
我的 Cocoa 应用程序的文件中定义允许的文件类型(内容类型)。因此,我像下面的示例所示添加了它们。
此外,我的应用程序允许使用NSOpenPanel
. 该面板允许通过以下选择器设置允许的文件类型:setAllowedFileTypes:
. 文档说明可以使用UTI 。
文件类型可以是通用文件扩展名或 UTI。
自定义解决方案:
Info.plist
我编写了以下辅助方法来从文件中提取 UTI 。
代替[NSBundle mainBundle]
也CFBundleGetInfoDictionary(CFBundleGetMainBundle())
可以使用。
问题:
- 你知道从
Info.plist
文件中提取内容类型信息的更聪明的方法吗?有 Cocoa 内置功能吗? - 您如何处理可以包含在那里的文件夹的定义,例如
public.folder
?
注意:
在我的研究中,我发现这篇文章信息量很大:使用统一类型标识符简化数据处理。
cocoa - NSSavePanel 取消确认
我有一个 NSSavePanel,我想处理“取消”按钮操作以防止关闭工作表。如果您想在保存时覆盖文件,则希望在 savePanel 工作表上方显示确认警报。
实现这一点的最佳方法是什么?
谢谢
cocoa - 在 NSOpenPanel 关闭后做某事
我有一个 NSOpenPanel,我想在用户单击确定后对选择进行一些验证。我的代码很简单:
[self window]
是一个应用程序模式窗口。面板以工作表形式打开。到目前为止,一切都很好。
苹果的文档说,完成处理程序应该在“用户关闭面板后”被调用。但就我而言,它是在按下“确定/取消”按钮时立即调用的,而不是在面板关闭时调用。这样做的效果是错误警报在打开的面板上方打开,而不是在面板关闭后打开。它仍然有效,但它不像 Mac。
我希望用户单击确定,打开的面板折叠起来,然后出现警报表。
我想我可以使用延迟选择器来显示警报,但这似乎是一种黑客行为。
macos - 在 OS X 中获取用户库文件夹的路径
我需要打开一个以用户库文件夹作为目标文件夹的 NSSavePanel。通常我会通过输入来做到这~/Library/
一点[NSSavePanel beginSheetForDirectory]
。
只要应用程序没有被沙盒化,它就可以正常工作。对于沙盒应用程序,这将导致NSSavePanel
尝试访问应用程序文档“框”内的文件夹。
我不能参考,/Users/username/Library/
因为我在运行时不认识用户username
。那么我如何链接到可可中的这条路径?