Using scripting Bridge with iTunes
我是Objective-C的新手。我现在正在尝试获取选定曲目的歌曲信息。但是我不能。
我发现以下代码
1 2 | iTunesFileTrack *cuTrack = [iTunesApp.currentTrack get]; NSLog(@"result = %@",cuTrack); |
输出当前Rails的参考(?)。像:
1 | 2014-01-21 00:07:09.908 CommunicateWithiTunes[43052:303] result = <ITunesFileTrack @0x60800005de20: ITunesFileTrack id 12825 of ITunesUserPlaylist id 12773 of ITunesSource id 74 of application"iTunes" (166)> |
因此可以像以下这样重复使用:
1 2 | NSLog(@"name = %@", cuTrack.name); NSLog(@"location = %@", cuTrack.location); |
但是如果我重新编写代码作为选择,例如:
1 2 | iTunesFileTrack *selectedTrack = [iTunesApp.selection get]; NSLog(@"result = %@",selectedTrack); |
输出选定音轨的文本(?),例如:
1 2 | 2014-01-21 00:15:40.753 CommunicateWithiTunes[43145:303] result = ( "<ITunesFileTrack @0x61000044fe70: ITunesFileTrack id 12825 of ITunesUserPlaylist id 12773 of ITunesSource id 74 of application "iTunes" (166)>" |
因此结果不能重复使用。
为什么会出现这种差异?或者有人可以告诉我获取所选曲目信息的正确方法吗?
选择始终是一个数组(就像在AppleScript中一样)。现在,只需循环遍历数组的各项即可。在您的示例中,只有一个。这就是控制台日志输出中的括号告诉您的内容:第二个