【问题标题】:How do I find solutions for deprecated code?如何找到弃用代码的解决方案?
【发布时间】:2011-05-24 22:55:02
【问题描述】:

我是 Mac 编程新手。当我打开示例项目时,我经常在构建过程中收到“不推荐使用”的代码警告。我想修复这些问题并使用 XCode 4 进行干净的构建。

当 Apple 弃用某些东西时,我如何找出它被弃用的原因?

更重要的是,我如何找出实现已弃用任务的“新”正确方法?

例如,我看到了弃用警告:QTMovieSizeDidChangeNotification、writeWithBackupToFile、documentForFileName、shouldCreateUI、setShowPanels、QTMovieCurrentSizeAttribute 等等。

【问题讨论】:

    标签: objective-c xcode4 quicktime qtkit


    【解决方案1】:

    在文档中查找方法 - 它们显示不推荐使用的方法并告诉您首选方法是什么。

    例如,writeWithBackupToFile 被明确标记为已弃用,并表明应改用 writeSafelyToURL:ofType:forSaveOperation:error:

    shouldCreateUI 相同,这表明应该使用openUntitledDocumentAndDisplay:error:openDocumentWithContentsOfURL:display:error:

    此外,请阅读文档中的其他方法 - 您会找到满足您需要的方法。例如,您将 QTMovieSizeDidChangeNotification 列为已弃用(在 QuickTime 7.6.3 中)。在文档的正上方,您可以看到 QTMovieNaturalSizeDidChangeNotification,它自 QuickTime 7.6.3 起就可用)。改用它。

    【讨论】:

    • +1 和@Brian:阅读“发行说明”也很有帮助,如果有点枯燥的话。
    • @Abizem 我一直在研究和测试更多。谢谢大家。我已经成功清除了一半的折旧警告。另外,发现 QTMovieNaturalSizeDidChangeNotification 不是 QTMovieSizeDidChangeNotification 的替代品。同样,QTMovieNaturalSizeAttribute 也不是 QTMovieCurrentSizeAttribute 的替代品。 Natural Size 指的是 QTMovie 的原始分辨率,而 Current Size 指的是 QTMovie 正在显示的分辨率(这也可能是电影正在解码的分辨率,可以从 native 调整大小)。有什么想法可以找到新的方法吗?
    • 我不是 QuickTime 程序员 - 我只是向您展示了一种处理已弃用函数的方法。您是否尝试过在 Apple 开发者论坛或 QuickTime API 邮件列表上提问?
    • 感谢您的帮助。你解决了我的很多问题!如何进入 QuickTime API 邮件列表?我曾尝试查找相关 Apple Dev 邮件列表的列表,但我似乎受到了 google 的挑战。 ^_^ 你知道他们的链接吗?
    【解决方案2】:

    在文档中查找已弃用的内容。通常,会有一条说明建议改用什么。

    例如,writeWithBackupToFile:ofType:saveOperation: 的文档说:

    此方法由操作方法调用以将文档内容保存到文件中。 (在 Mac OS X v10.4 中已弃用。改用 writeSafelyToURL:ofType:forSaveOperation:error:。

    【讨论】:

    • 谢谢。我听从了你的引导。对于其他观看此内容的人,我在 Apple 开发者网站的 QTMetadataEditor 中找到了很好的示例代码。
    【解决方案3】:

    在文档中搜索该方法/函数/常量。它应该在那里列出要使用的内容,或者至少提出一个明显具有其他类似方法的类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-30
      • 1970-01-01
      • 2014-08-24
      • 1970-01-01
      • 2012-04-06
      相关资源
      最近更新 更多