【问题标题】:Xcode Applescript create list of resultsXcode Applescript 创建结果列表
【发布时间】:2014-02-23 02:29:29
【问题描述】:

我一直在努力找出实现这一目标的最佳方法,但每次我认为自己正在做某事时,它似乎不适用于我的情况。

如果有人可以为我指出现有示例或正确的谷歌术语的正确方向,我将不胜感激。

我正在 Xcode 5 中创建一个 Cocoa - Applescript 应用程序。

我已经有了基础知识,到目前为止,它会提示用户选择一个音轨,然后在 Quick Time 中播放该曲目,并且我有一个按钮可以返回该曲目的当前播放时间,因为它位于这会将时间返回给 SMPTE ala 的变量。

tell application "QuickTime Player"
        set SMPTE to get current time of document 1
    end tell

我的问题是如何处理“SMPTE”的结果

我想在一个单独的窗口中生成一个列表,每次按下按钮都会用新的返回值更新一个新行。

我尝试过使用 NSTableColumn,但不知道如何在每次后续按钮按下时“自动填充”。

【问题讨论】:

    标签: xcode applescript


    【解决方案1】:

    一种非常简单的方式。

    将 NSArrayController 添加到 IB 对象。

    将其连接到插座。
    选择 TableView 的 TableColumn 并转到它的 Bindings Inspector。

    将它的 Value 绑定到 Array Controller

    并将其命名为 model key path 为 'time'

    TableColumn 的属性检查器中。将其 Title 设置为 'time'

    代码是这样的:

     property ArrayController :missing value
    
    
    
        on addTime_(sender) --clicked to add time
            tell application "QuickTime Player"
                set SMPTE to get current time of document 1
            end tell
    
            ArrayController's addObject:{|time|:SMPTE}
        end addTime_
    

    按钮需要连接到动作:addTime:


    要删除项目:

    只需添加一个新按钮并将其连接到 ArrayController 的 Remove Action 方法。 (通过拖动按钮的连接到 IB 中的 ArrayController 对象并选择 remove:


    保存数据以便在重新启动时能够看到:

    在 IB 中选择 ArrayController 对象并转到它的绑定检查器。 将它的 Control Content 的 content Array 绑定到“Shared user defaults Controller”

    并将其命名为 model key path 为 'theValues'


    有一个很好的入门教程here

    还有 NSArrayController 的Docs

    【讨论】:

    • 我收到错误 [__NSDictionaryM objectAtIndex:]: unrecognized selector sent to instance 0x618000055810 (error -10000)
    • 现在不在我的 Mac 前。但 _NSDictionaryM 指的是什么?
    • 我能够在我这里只有 Xcode 3.2.6 的 Mac 上按照上面的说明进行操作,我只需要对 addObject 语法做一些小改动。e 将第一个冒号更改为 _( ) 并将 {|time|:SMPTE} 记录/字典放在一边。没有问题。所以这表明代码可以在我的 Mac 之外运行。除此之外,您的代码中必须有一些东西。在添加任何您拥有的之前,只需在此处使用代码和指令将其设置为测试应用程序。看看它是如何工作的。
    • 我的错,当我之前尝试的时候,我的表格和按钮仍然链接到其他一些属性,这显然让可怜的东西感到困惑..
    • 最后一件事。我将如何将最终结果导出为 .csv 文件?
    猜你喜欢
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 2015-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多