我已经编程了一段时间,但最近才决定开始为 Mac OS X 开发。我觉得过去一周我已经掌握了 Objective-C 和 Cocoa 开发的基础知识。我正计划制作图形应用程序,因此目前正在学习如何通过 Cocoa 应用程序控制 Quartz 组合。我浏览了苹果提供的教程(使用 Mac Engravings 组合),并且能够很好地创建它。为了确保我真正理解所学内容,我决定创建自己的组合并将其链接到一个稍微复杂的 Cocoa 应用程序。
从本质上讲,我有一个通过电影加载器补丁加载电影或图像的合成,此时它在输出之前将各种过滤器应用于帧。在我的 Cocoa 应用程序中,我编写了允许用户使用 NSOpenPanel 对象选择文件的代码(或者更确切地说是从其他苹果示例复制和粘贴)。他们选择的文件的文件路径被放置在我使用 Interface Builder 放置在应用程序窗口中的文本框中。我将所述文本框的值绑定到我的作品中的“Movie_Location”键,这是我正在使用的 Movie Loader 补丁中发布的输入。但是,无论我做什么,无论我如何尝试,电影和图像都不会加载到此合成中。
我已经在合成中添加了一个 Clear Color 补丁,并将它绑定到我的 UI 中的颜色池,这成功地改变了我的显示颜色,所以我知道合成和我的 Cocoa 应用程序正在通信。在这一点上,我花了很多时间试图弄清楚发生了什么,我几乎放弃了。Movie Loader 是否有任何我不知道的奇怪行为,或者我似乎遗漏了什么明显的东西?我真的很感谢任何人的任何帮助或建议。
感谢您阅读本文...
最好的,萨米