标签: nsdocument

我应该使用NSViewController吗?

我希望我的应用程序只有一个文档,但有几个屏幕,而不需要使用几个窗口.实现这一目标的最佳方法是什么?我正在考虑使用单个NSPersistentDocument,它将以显示一组控件的NSViewController开始,然后将该视图交换为另一个NSViewController.

我的问题是:这是正确使用NSViewControllers吗?甚至可以做到吗?如果两者的答案都是肯定的,那么如何在文档中交换另一个视图呢?

model-view-controller cocoa core-data nsdocument

2
推荐指数
1
解决办法
1911
查看次数

从文档目录加载已保存的图像

我使用这里给出的代码来保存和加载图像

当我在一个视图控制器中一起使用它时工作正常,但是当我在一个视图控制器中使用saveImage方法并尝试在另一个视图控制器中加载图像时,图像返回空白...

在视图控制器A中,我使用以下内容保存图像

- (void)saveImage: (UIImage*)image
{
    NSLog(@"saveimage called");

    if (image != nil)
    {
        NSLog(@"Image not null");
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                             NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSString* path = [documentsDirectory stringByAppendingPathComponent:
                          @"test.png" ];
        NSData* data = UIImagePNGRepresentation(image);
        [data writeToFile:path atomically:YES];
        QrImageView.image = nil;
    }
}
Run Code Online (Sandbox Code Playgroud)

并在视图控制器说B我正在使用..加载图像..

- (UIImage*)loadImage
{
    NSError *error;

    NSFileManager *fileMgr = [NSFileManager defaultManager];

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                         NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString* path = [documentsDirectory stringByAppendingPathComponent:
                      @"test.png" ];
    UIImage* image …
Run Code Online (Sandbox Code Playgroud)

objective-c nsdocument ios

2
推荐指数
1
解决办法
6876
查看次数

设置 NSDocument 以保存非本机类型

我的应用程序有一个自定义格式,它在 Info.plist 中注册为编辑器,并且可以读取和写入该格式。它还可以读取许多其他格式,但无法写入。对于这些格式,它在 Info.plist 中注册为查看器。

当我打开其他格式之一时,一切看起来都很好,但是当我保存文件时,我的 NSDocument 会收到一条消息,其中writeToURL:ofType:error:包含我加载的文件的 URL 以及我无法写入的格式的 UTI 类型。

-(NSArray *)writableTypes仅返回我的自定义格式的 UTI,并且-(BOOL)isNativeType:仅返回我的自定义格式的 UTI 的 YES。

我想做的是,就像其他具有本机格式但可以从其他格式读取的应用程序一样,当用户按“保存”时,保存面板将打开,用户选择一个文件名来保存为本机类型。

这是 NSDocument 自己可以做的事情,还是我需要检查一下writeToURL:ofType:error:是否需要手动打开保存面板?

cocoa objective-c nsdocument

2
推荐指数
1
解决办法
422
查看次数

如何禁用NSDocument中的NSUndoManager?

我正在使用NSDocument但我想禁用撤消管理器.

我该怎么做?

macos nsdocument nsundomanager

2
推荐指数
1
解决办法
223
查看次数

防止应用程序激活时创建 NSDocument

当基于文档的应用程序处于活动状态并且没有打开的窗口时,会自动创建一个新的文档窗口。我想防止这种行为并显示“选择模板”对话框,而不是默认创建空白文档。

正如您在屏幕截图中看到的,新文档是在NSApplicationMain.

在此输入图像描述

我怎样才能防止这种情况并显示我的窗口?

macos cocoa nsdocument appkit

2
推荐指数
1
解决办法
254
查看次数

更新NSDocument状态而不撤消?

我有一个基于文档的应用程序,但我没有使用撤消.如何将窗口状态更改为"脏"且某些时间?

谢谢.

cocoa objective-c nsdocument appkit

1
推荐指数
1
解决办法
197
查看次数

我们怎么知道写文件已经完成

我正在从服务器下载图像并保存该locall [imageData writeToFile:filePath atomically:YES]; 但是我怎么知道写入结束时更新UI.我已经搜索了一个回电但我找不到任何东西.

我们怎么知道写文件何时完成?

objective-c nsdocument uiimage nsfilemanager ios

1
推荐指数
1
解决办法
500
查看次数

基于文档的应用程序与情节提要板自动保存

在基于文档的应用程序中,使用XIB文件创建新窗口时,其行为是:

  1. 根据最后一个活动窗口的位置进行定位和调整大小。
  2. 如果最后一个活动窗口仍然可见,则应级联新窗口,以使其不会直接重叠。

但是,使用情节提要板时并不会这样做。请参阅测试项目

macos cocoa nsdocument nsstoryboard

1
推荐指数
1
解决办法
566
查看次数

隐藏 NSWindow 新建标签按钮

在 macOS 10.12 中,为 NSDocument 应用程序添加了一个新的标签栏。您可以阻止工具栏出现(请参阅如何禁用 Sierra 应用程序中的“显示标签栏”菜单选项?)。但是如何删除用于添加新 Windows 的“+”按钮?

cocoa tabs nsdocument nswindow macos-sierra

1
推荐指数
1
解决办法
1299
查看次数

防止基于 NSDocument 的应用程序在崩溃后重新打开文档

我有一个适用于 macOS 的只读音乐播放器应用程序,它使用 NSDocument 免费获取所有文件处理逻辑。

我现在遇到的问题是,每次应用程序崩溃(或被调试器停止)而一个或多个播放器窗口打开时,它们会在应用程序重新启动时自动重新打开。我不希望这样,因为它会干扰调试,并且这个应用程序不会真正发生合法的崩溃。

苹果的 NSDocument 文档不包含任何有关重新打开文件的内容,所以我在那里运气不好。有没有正确的方法来做到这一点?

cocoa nsdocument swift

1
推荐指数
1
解决办法
954
查看次数