首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NSOpenPanel - 一切都弃用了吗?

关于NSOpenPanel,它是macOS中的一个类,用于创建一个用于打开文件或文件夹的面板。虽然它在macOS 10.12(Sierra)中被弃用,但它仍然可以在较早的macOS版本中使用。它的替代品是NSOpenPanel。

NSOpenPanel的主要功能包括:

  • 选择文件或文件夹
  • 设置可选择的文件类型
  • 设置默认显示的文件夹
  • 设置面板的标题和提示信息
  • 允许多选或单选

虽然NSOpenPanel在macOS 10.12中被弃用,但它仍然可以在较早的macOS版本中使用。如果您正在使用macOS 10.12或更高版本,建议使用NSOpenPanel的替代品,即UIDocumentPickerViewController。UIDocumentPickerViewController提供了更现代的用户界面,并且与iCloud Drive集成得更好。

以下是一个简单的示例,展示了如何使用UIDocumentPickerViewController来选择文件:

代码语言:swift
复制
import UIKit
import MobileCoreServices

class ViewController: UIViewController, UIDocumentPickerDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        let documentPicker = UIDocumentPickerViewController(documentTypes: [kUTTypeText as String], in: .import)
        documentPicker.delegate = self
        present(documentPicker, animated: true, completion: nil)
    }
    
    func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
        // 用户选择了文件,处理文件
    }
    
    func documentPickerWasCancelled(_ controller: UIDocumentPickerViewController) {
        // 用户取消了选择,处理取消事件
    }
}

请注意,UIDocumentPickerViewController仅适用于iOS和iPadOS。如果您正在开发macOS应用程序,则应继续使用NSOpenPanel。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

本页面列出了所有API用情况,以及推荐的替代方案。与遗留我们使用术语“”来指代淘汰模型或端点的过程。当我们宣布某个模型或端点即将用时,它立即被标记为。...所有的模型和端点也将有一个关闭日期。在关闭日期到来时,该模型或端点将不再可用。我们使用术语“遗留”来指代将不再接收更新的模型和端点。...您可以预期,将来某个时候会遗留模型或端点。增量模型更新正如2023年3月宣布的那样,我们定期发布gpt-4和gpt-3.5-turbo的新版本。...在推出新版本后,旧版本通常会在3个月后。迁移到替代方案一旦模型被,请确保在关闭日期之前将所有使用迁移到合适的替代方案。超过关闭日期的模型请求将失败。...历史记录以下列出了所有用情况,最新的公告在顶部。

11110
  • 【思考】为何jQuery?(上)

    起源还是因为面试官的提问: A:“你之前的什么技术?” Q:“之前的是jQuery,然后觉得学不到东西了,想学更新的东西。” A:“(一脸疑问)jQuery不好吗?为什么想学更新的东西?”...我在网上简单的搜索了一下,得到的回答我都感觉太片面了 “因为他们选择使用其他框架” “因为现在很多做移动端的 不用去兼容ie 所以的话 能用原生就用原生” “因为jQuery只是方便操作DOM而已,现在其他框架也可以操作...DOM了” “现在的前端框架可以数据驱动很方便啊” 诸如此类的回答 大部分的回答不外乎 因为有新的、别人我也、比jQuery方便或者是“鄙视链” 但是其中一个回答提到的很有意思 “你可以看看 You...《【思考】为何jQuery?》我不知道我能写多少,但我会尽我所能尽量的将前端技术的变迁描述出来。 总结 保持主动思考的能力 给自己留点时间,哪怕睡晚一个小时 养成记录和复盘的习惯

    82230

    PodSecurityPolicy:过去、现在和未来

    作者:Tabitha Sable(Kubernetes SIG Security) PodSecurityPolicy(PSP)在 Kubernetes 1.21 中将被,1.21 版本在这周晚些时候发布...在 Kubernetes 中,用是什么意思? 每当 Kubernetes 特性要消失时,我们策略[1]就是我们的指南。首先,该特性被标记为已,然后经过足够的时间,它最终可以被删除。...Kubernetes 1.21 启动 PodSecurityPolicy 的用过程。与所有已的特性一样,PodSecurityPolicy 将在今后的几个版本中继续发挥完全的功能。...当这种情况发生时,Kubernetes 策略会确保你有足够的时间来计划下一步行动。对于 PodSecurityPolicy,有几个选项可以满足各种需求和例。...参考资料 [1] 策略: https://kubernetes.io/docs/reference/using-api/deprecation-policy/ [2] PodSecurityPolicy

    1.4K20

    Kafka 宣布 Java 8。。

    in Kafka Streams Revamped public API for Stream's TaskId Default serde becomes null in Kafka 第一条就是宣布对...在 Kafka 3.0.0 中,Kafka 项目中的所有组件都已对 Java 8、Scala 2.12 的支持,宣布,但 3.0.0 还能用,这次宣布只是给用户一个调整的时间,到了 Kafka...其实,其他一些中间件也早有停止对 Java 8 的支持,选择 Java 11 作为最低支持版本,但  Kafka,这可能是自 Java 17 发布以来,也就是近半月时间,官宣 Java 8 打响的第一枪...Java 8 虽然有点老了,但依然是现在市场上的最多的版本,虽然有些中间件不再支持 Java 8 了,但实际开发工作并不受影响,Java 8+ 系列教程我也写了一堆了,关注公众号Java技术栈在菜单栏中进行阅读吧...最后,觉得我的文章对你收获的话,动动小手,给个在看、转发,原创不易,栈长需要你的鼓励。

    83430

    我可以这个端点吗?

    你被要求/v1/catalog 端点而使用新的/v2/catalog 端点。你该怎么做呢?...在该端点之前,首先需要检查该端点是否正在实际使用。 搜索代码库 对于内部端点,一个很好的开始方法是在代码库中搜索对 API 的调用。...例如,免费层的客户端可能会稍微延迟他们的 API 请求响应,而付费客户端可以继续使用的 API 而不会受到任何惩罚。 开始 现在你已经知道了使用 API 的情况,可以创建用计划了。...开发者不喜欢意外的,所以最好以多种方式通知他们,包括: 文档:更新参考文档以防止新用户使用已的 API。 Slack/电邮通知:告诉现有用户如何以及何时迁移。.../日落报头:为使用 HTTP 中间件的用户自动检测的 API。 监控:跟踪端点流量,提醒 API 客户端进行迁移。 渐进关闭:给 API 客户端一个最后的警告。

    1.7K10

    【方向盘】Spring Boot 2.7.0正式发布,OkHttp 3、spring.factories机制

    还好,最近的几个大版本我都有追,这里一并整理出来,方便你不用关注我的号就可以直接看全: 【方向盘】Spring Boot 2.7.0正式发布,从spring.factories加载自动配置类...这些改变主要表现在这两个方面: 自动配置注册机制 通过spring.factories加载自动配置类的方式成为过去式(从spring.factories加载自动配置类),采用全新的方式加载自动配置类...言外之意:在2.7.0版本之前,测试属性源优先级并没有命令行属性源高 为了加深理解,最好的方式就是代码验证一把。...http://www.h2database.com/html/changelog.html和升级指南http://www.h2database.com/html/migration-to-v2.html ✌...如下对比图: ✌移除2.5.x标记为的类 按照Spring Boot的约定,标记为@Deprecated的类、方法在2个版本后会被直接删除。

    4.5K60
    领券