将ArrayController的内容保存到文件

时间:2014-03-07 02:44:06

标签: macos applescript

我正在Xcode 5中制作一个cocoa applescript osx应用程序

我有一个表格视图,使用阵列控制器按下每个按钮,使用quicktime文件的当前播放时间进行更新。一切都运行良好但我仍然坚持如何将表视图的结果保存到文件,最好是.csv

我一直在尝试研究这样做的方法,但我发现的大部分教程都与iOS有关。 我已经研究过使用NSStrings和writeToFile但是我在填补空白时遇到了麻烦。

如果有人能给我一些指示或知道与此相关的教程,我将非常感激。

由于

编辑:我尝试将表格视图的表格内容绑定到IB中的数组控制器,其中包含一个关键路径为FinalResults,然后是保存按钮发送者

FinalResult's writeToFile:FilePath

FilePath是使用

设置的位置
set FilePath to choose folder

它正在构建成功,但是当我按下“保存”按钮时,它会给我以下错误

014-03-11 22:37:07.462 SMPTE Grabber [4043:303] * - [AppDelegate BackUp:]:无法识别的函数writeToFile_。 (错误-10000)

我是否需要以某种方式将表格内容绑定到其他内容?

我已经在这几天了......

由于

B

1 个答案:

答案 0 :(得分:0)

感谢StefanK在Macscripter上工作,他解决了我原来的问题,同时我试图以非常圆的方式解决它。 (他必须是心灵读者)

无论如何,我认为我会与发现自己陷入类似困境的其他人分享。

set filePath to POSIX path of (path to desktop) & "test.csv" -- sample path, change it something   appropriate
set theArray to arrayController's arrangedObjects() -- arrayController is a property connected   to an NSArrayController instance
set csvList to current application's NSMutableArray's array()
csvList's addObject:((theArray's objectAtIndex:0)'s allKeys()'s componentsJoinedByString:",")
repeat with anItem in theArray
  (csvList's addObject:((anItem's allValues())'s componentsJoinedByString:","))
end repeat
set csvText to (csvList's componentsJoinedByString:return)
csvText's writeToFile:filePath atomically:true encoding:(current application's    NSUTF8StringEncoding) |error|:(missing value)
相关问题