1
我對Objective C很新,但事情進展順利。但是,我想我錯過了一個關於如何創建和發送對象的關鍵概念。我希望有一個人可以幫助我。發送消息給對象
我正在創建一個簡單地創建MPMusicPlayer的iPhone應用程序,並開始播放歌曲中的歌曲。
我創建的AppDelegate的音樂播放器(myPlayer)是這樣的...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
// Add the main view controller's view to the window and display.
[window addSubview:mainViewController.view];
[window makeKeyAndVisible];
// instantiate a music player
MPMusicPlayerController *myPlayer =
[MPMusicPlayerController applicationMusicPlayer];
// assign a playback queue containing all media items on the device
[myPlayer setQueueWithQuery: [MPMediaQuery songsQuery]];
// start playing from the beginning of the queue
[myPlayer play];
return YES;
}
這工作得很好。現在,在MainViewController我嘗試發送myPlayer命令跳到下一首曲目
[myPlayer skipToNextItem];
然而,當我嘗試編譯我得到的消息myPlayer未申報。
我在做什麼錯?我可以看到如何以程序的方式解決這個問題(通過在MainViewController中創建播放器),但我想了解我必須做些什麼才能使其以OOP方式工作。
乾杯,
理查德
Toastor,這是關於高德和性能都非常好的建議和OP當然需要知道這一切......但是,我認爲它是在一定的誤導性這種情況是因爲OP想要訪問一個單例對象,他可以很容易地從視圖控制器對象中再次使用[MPMusicPlayerController applicationMusicPlayer]。這也許更正式地正確(儘管顯然保持對單身人士的參考在實踐中通常是安全的)。 – Echelon 2010-09-21 14:35:13
乾杯,做了這份工作。 – Shadrax 2010-09-22 13:22:22