大佬教程收集整理的这篇文章主要介绍了xcode – Swift和scriptingbridge对象初始化,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
var iTunes = SBApplication.applicationWithBundlEIDentifier("com.apple.iTunes")
iTunes.h标题还包含我需要访问但不能访问的类.
这些类会导致编译错误,就好像它们不在声明的iTunes.h中一样.
为什么这件事发生在我身上尚不清楚.
通过@class声明为iTunes.h的类的完整列表:
@class iTunesPrintSetTings,iTunesApplication,iTunesItem,iTunesAirPlayDevice,iTunesArtwork,iTunesEncoder,iTunesEQPreset,iTunesPlaylist,iTunesAudioCDPlaylist,iTunesLibraryPlaylist,iTunesRadioTunerPlaylist,iTunessource,iTunesTrack,iTunesAudioCDTrack,iTunesFileTrack,iTunesSharedTrack,iTunesURLTrack,iTunesUserPlaylist,iTunesFolderPlaylist,iTunesVisual,iTunesWindow,iTunesBrowserWindow,iTunesEQWindow,iTunesPlaylistWindow;
例如,在Objective -c中,您可以使用类似的东西来@L_673_8@当前曲目
iTunesApplication *iTunes = [SBApplication applicationWithBundlEIDentifier:@"com.apple.iTunes"]; NSLog(@"Current song is %@",[[iTunes currentTrack] name]);
但我无法迅速获得相同的工作.
@H_422_19@markhunte的答案解释说,您可以获得对应用程序对象的引用.但除此之外,我在尝试从该应用程序对象@L_673_8@实例时遇到了编译/链接器错误.
在我的快速项目中,我最终创建了一个客观的C包装类,它将iTunes类型公开为基本目标C类型(数组和字典),并且也适应方法.
#import "ITunesBridgex.h" #import "iTunes.h" @interface ITunesBridgex(){ iTunesApplication *_iTunesApplication; iTunessource* _iTunesLibrary; } @end @implementation ITunesBridgex -(id)init { self = [super init]; if (self) { _iTunesApplication = [SBApplication applicationWithBundlEIDentifier:@"com.apple.iTunes"]; NSArray *sources = [_iTunesApplication sources]; for (iTunessource *source in sources) { if ([source kind] == iTunesESrcLibrary) { _iTunesLibrary = source; break; } } } return self; } - (NSDictionary*) currentTrack { iTunesTrack* track = _iTunesApplication.currentTrack; if (!track) return nil; NSDictionary* Dict = [NSDictionary DictionaryWithObjectsAndKeys: track.name,@"title",nil]; return Dict; } @end
import Foundation import Cocoa class ITunesBridgeSimple { var iTunesBridgex: ITunesBridgex init(){ iTunesBridgex = ITunesBridgex() self.updateFromCurrentTrack() } func updateFromCurrentTrack() { if let track = self.currentTrack { if let title : AnyObject = track.objectForKey("title"){ println("Current track: \(titlE)") } } } }
以上是大佬教程为你收集整理的xcode – Swift和scriptingbridge对象初始化全部内容,希望文章能够帮你解决xcode – Swift和scriptingbridge对象初始化所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。