1

我正在制作一个通用函数来处理 C4 中不同媒体类型的停止和启动。我尝试了下面的方法来调用,但是用这种方式调用时,播放方法似乎与AVPlayer播放方法中的播放方法冲突。有没有办法解决这个问题?

-(void) StartStop: (NSNotification *) notification
{
    if( [[notification object] isKindOfClass:[C4Movie class]] )
    {
        if( [[notification object] isPlaying])
            [[notification object] pause];
        else
            [[notification object] play];
    }
}
4

1 回答 1

1

解决方案是将通知对象强制转换为特定类,以便编译器知道要调用哪个对象。Objective-C 使用动态绑定。有关详细说明,请参阅此问题:Late Binding vs Dynamic Binding

-(void) StartStop: (NSNotification *) notification
{
    if( [[notification object] isKindOfClass:[C4Movie class]] )
    {
        C4Movie * temp = [notification object];
        if( [temp isPlaying])
            [temp pause];
        else
            [temp play];
    }
}
于 2013-06-07T00:55:19.150 回答