小编Gil*_*les的帖子

如何在iOS上生成英语句子的解析树?

我想在iOS应用程序中生成基于选区的英语句子解析树. http://en.wikipedia.org/wiki/Parse_tree

我目前的选择似乎是:

  • 在NSLinguisticTagger的POS标记之上编写我自己的树生成.
  • 将基于python的NLTK嵌入到我的应用程序中.
  • 创建或使用基于服务器的方法.

任何人都可以推荐其中一种方法,或者建议另一种方法吗?

nlp linguistics ios

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

是否有与 OSX 等效的 SFSafariViewController?

我想在我的 Mac 应用程序中以“阅读器”模式显示网络内容(如果可用)。iOS 有SFSafariViewController来简单地实现这一点。我在 OSX 中找不到任何简单的东西。

我必须深入使用WKWebView和像Mercury这样的阅读器服务吗?

塔。

macos cocoa wkwebview

6
推荐指数
0
解决办法
631
查看次数

如何在 Cocoa 中以编程方式设置屏幕旋转配置?

在系统偏好设置 -> OS X 上的显示中,可以设置连接屏幕的旋转。

无论如何我可以以编程方式设置这个值吗?

我可以使用 CGDisplayRotation 获取当前设置。我似乎能够在一个简单的事务中设置许多屏幕属性,例如分辨率:

CGDisplayConfigRef config;
CGError error = CGBeginDisplayConfiguration(&config);
...
error = CGCompleteDisplayConfiguration(config, kCGConfigurePermanently);
Run Code Online (Sandbox Code Playgroud)

...但无论如何我都找不到设置此特定属性的方法。

有没有人知道这样做的方法?

macos cocoa screen-orientation

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

如何自定义 PDFView 的上下文菜单?

我在我的应用程序中使用 PDFView 实例。我想将我自己的项目添加到上下文菜单中,并删除一些不适合我的应用程序的默认项目。

一些默认项目是合适的,因此理想情况下我会调整现有菜单而不是构建新菜单。

当我创建 pdf 视图时,不存在有效的 pdfView.menu 项,因此我无法设置自己的委托。

我尝试使用继承自 PDFView 的类(声明为 NSMenuDelegate)并覆盖 menuWillOpen 和 menuNeedsUpdate - 但我的代码从未被调用。

我可以看到 PDFView 正在混合文本字段和 pdf 相关菜单项,具体取决于文本选择,在显示的上下文菜单中,因此显然没有固定的菜单。

无论如何我可以拦截这个还是我只需要强制我自己的菜单就可以了?

在 MacOS 10.13 上。

cocoa pdfview swift

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

如何在 NSTextView 上禁用 Alt-Drag 选择?

我不知道,也找不到,当在 NSTextView 上按下 alt/选项按钮时,拖动选择功能的标准技术术语。

当按下 alt 时,会出现十字准线,并且可以在列中/垂直方向选择/突出显示文本,就像在 Xcode 中一样。

我想在我的 NSTextViews 中禁用这个功能,我该怎么做?

cocoa nstextview

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

显式添加对闭包捕获的引用

这似乎是我能找到的所有 Swift 关闭问题的相反问题!

我正在使用NSFilePromiseReceiver将文件复制到我的应用程序的存储中。我想用一个临时目录来做这个,我喜欢/经常使用 Ole Begemann 的临时目录模式:https ://oleb.net/blog/2018/03/temp-file-helper/

所以,我会像这样使用它:

    guard let tempDirectory = TemporaryDirectory() else { return }
            
    promise.receivePromisedFiles(atDestination: temporaryDirectory.url, options: [:],
                                 operationQueue: OperationQueue()) { fileURL, error in
...
    }
Run Code Online (Sandbox Code Playgroud)

我需要临时目录对象在此处的闭包生命周期内存活,但闭包并不明确需要它。

有没有办法强制目录被闭包捕获?

如果我添加[tempDirectory]为捕获列表,我会收到一个编译器警告,表明它没有被使用,并且测试表明它根本没有被捕获。tempDirectory在闭包中调用一些不必要的操作是可行的,但这太可怕了。

有任何想法吗?

swift

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

使用 NSCollectionViewFlowLayout 在 NSCollectionView 上没有动画

我正在以编程方式设置一个简单的集合视图,但没有看到我希望免费获得的插入/删除动画。我已经检查了与集合视图关联的类的所有方法,但找不到任何似乎会影响动画的东西。请问这个设置有什么我遗漏的吗?

在索引 0 处插入内容时,我希望看到现有项目移动,新项目淡入。

class ECTestViewController: NSViewController
{
    var scrollView: NSScrollView!
    var collectionView: NSCollectionView!

    var items = [Int]()

    override func loadView() {
        view = NSView()
        view.translatesAutoresizingMaskIntoConstraints = false
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        scrollView = NSScrollView()
        scrollView.translatesAutoresizingMaskIntoConstraints = false

        view.addSubview(scrollView)
        let scrollViewList = ["view": scrollView]
        var scrollViewConstraints = NSLayoutConstraint.constraints(withVisualFormat: "|[view]|", metrics: nil, views: scrollViewList)
        scrollViewConstraints += NSLayoutConstraint.constraints(withVisualFormat: "V:|-22-[view]-8-|", metrics: nil, views: scrollViewList)
        NSLayoutConstraint.activate(scrollViewConstraints)

        collectionView = NSCollectionView()
        collectionView.translatesAutoresizingMaskIntoConstraints = false
        collectionView.dataSource = self
        collectionView.delegate = self
        scrollView.documentView = collectionView

        collectionView.collectionViewLayout …
Run Code Online (Sandbox Code Playgroud)

cocoa nscollectionview swift

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

如何使用 NSItemProvider 的新 Async loadItem 方法加载 URL?

DropDelegate将文件从桌面拖到我的应用程序时,我很难在 SwiftUI 中获取 fileURL 。

我正在使用异步 loadItem 调用,NSItemProvider该调用返回一个NSSecureCoding. 我以为我可以将结果转换为 NSURL 但它总是失败。

let url = try await (urlProvider
    .loadItem(forTypeIdentifier: UTType.url.identifier) as? NSURL
Run Code Online (Sandbox Code Playgroud)

如果我尝试强制转换,则会出现以下错误:

Could not cast value of type 'Foundation.__NSSwiftData' to 'NSURL'.
Run Code Online (Sandbox Code Playgroud)

我在代码中的其他地方成功地使用了相同的调用并转换为 NSDictionary。

这是在 Xcode 13.4、Swift 5 中。我在沙箱功能中具有对用户选择的文件的读取权限。

谁能帮助指出我做错了什么?谢谢。

foundation swift

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