我遇到了一个最初为 iPhone 设计的通用应用程序的问题,我在 iPhone 上使用了一个 3rd 方类作为弹出窗口。在 iPad 上,我想使用 Apple 提供的弹出窗口。我的问题是我的代码是这样编写的,以便弹出窗口的视图控制器已经在viewDidLoad
包含弹出窗口的类中初始化,并且在 seguing 时 - 分配了该类的新实例。有没有办法通过它bckMusicPlayer
已经分配的prepareForSegue
?
@property (nonatomic,strong) MJDetailViewController *bckMusicPlayer; //在调用 prepareForSegue 时已经初始化。我想继续这个对象。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"prepare for segue");
if ([segue.identifier isEqualToString:@"Show iPad Player"]) {
if ([segue isKindOfClass:[MJDetailViewController class]]) {
}
}
}
编辑:我让它从 bckMusicPlayer 传递了播放器(AVAudioPlayer)对象
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"Show iPad Player"]) {
NSLog(@"class: %@",[segue class]);
if ([segue.destinationViewController isKindOfClass:[MJDetailViewController class]]) {
NSLog(@"prepare for segue");
MJDetailViewController *destinationVC = segue.destinationViewController;
destinationVC.player = self.bckMusicPlayer.player;
}
}
}