1

このようなもの:

@property (nonatomic,assign) NSTimeInterval *startTime;

AVAudioPlayer *player;

そして私はこれをしたい

if (self.player.currentTime  > sub.startTime) {
    do something...
}

どちらも型データだと思いますがNSTimeInterval、なぜできないのですか?

このようにアップコードを変更すると

if (self.player.currentTime  > 5) {
    do something...
}

それは非常にうまく機能することができます。

4

2 に答える 2

5

NSTimeIntervalのtypedefですdouble。これはObjective-Cオブジェクトではないため、プロパティとしてポインタを使用しないでください。プレーンを使用する必要がありますNSTimeInterval

@property (nonatomic) NSTimeInterval startTime;
于 2012-02-20T07:21:27.663 に答える
3

NSTimeIntervalは次のように宣言されます

typedef double NSTimeInterval;

このようなヘルパーメソッドを実装できます

static double NSTimeIntervalEqualCompareThreshold = 0.01;

NSComparisonResult NSTimeIntervalCompare(NSTimeInterval time1, NSTimeInterval time2)
{
    if (abs(time2 - time1) < NSTimeIntervalEqualCompareThreshold) {
        return NSOrderedSame;
    } else if (time1 < time2) {
        return NSOrderedAscending;
    } else {
        return NSOrderedDescending;
    }
}
于 2014-06-18T04:26:58.757 に答える