我正在構建一個在TabBarController上加載5個項目的iPhone應用程序。可可觸摸Objective-C:如何調用兩次相同的ViewController?
當應用程序加載的第一個觀點是音頻播放器
(的MyAudioPlayerViewController一個實例)假設用戶開始播放一首歌曲MyAudioPlayerViewController,然後決定輕按第二標籤欄項目,其中有6個選項在UITableView可供選擇。用戶做出選擇,導致另一個UITableView(有一些其他選項可供選擇),然後他們做出另一個選擇,導致最終的ViewController,這也是一個音頻播放器。
我需要這最後的UIViewController是SAME作爲第一個MyAudioPlayerViewController是有inicial歌曲播放和不一個新的實例。
爲什麼我需要這種配置?我需要它,因爲在用戶在前一個UITableView上進行最終選擇的那一刻,正在播放的歌曲必須停止。
具有MyAudioPlayerViewController的最終視圖必須能夠訪問正在播放音頻的我的自定義NSObject類,從而使其停止播放當前歌曲。
現在我有這樣的代碼,該代碼調用MyAudioPlayerViewController顯示最終的UIViewController:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[tableView deselectRowAtIndexPath:indexPath animated:YES];
MyAudioPlayerViewController * myAudioPlayerViewController = [[MyAudioPlayerViewController alloc] initWithNibName:@"MyAudioPlayerViewController" bundle:nil];
[self.navigationController pushViewController:myAudioPlayerViewController animated:YES];
[myAudioPlayerViewController changeText:[arraySingerList objectAtIndex:indexPath.row] withSong:[arraySongList objectAtIndex:indexPath.row]];
[myAudioPlayerViewController release];
}
正如你可以看到它使MyAudioPlayerViewController的新實例,有什麼做的非常第一個時應用程序啓動後,我可以調用我的自定義NSObject類(播放器本身)上的方法負責停止正在播放的以前的音頻,因爲它受到保護。
有沒有這種情況下的解決方案,或者我應該使用另一種方法再次構建一切?
謝謝!
非常感謝Thomas幫助我,Thomas!我正在使用Interface Builder,並在我的AppDelegate上創建了IBOutlet並將它連接到IB上。我如何創建訪問器方法?我收到警告:找不到方法myAudioPlayerViewController ... – Winston 2011-06-16 19:49:31
@Winston我已經添加了有關創建上述屬性的信息。它會爲你創建訪問器方法。 – thomashw 2011-06-16 20:15:40
謝謝托馬斯,你幫了我很多!我試過了,再次收到警告說沒有找到該方法。我不知道爲什麼。謝謝! – Winston 2011-06-16 20:33:58