2012-04-09 5 views
-1

私は2つのNSMutableArrays(arrayContainsGoodClicksとarrayContainsBadClicks)を持っています。関連するGoodボタンとBadボタンがclcikedされている場合、これらの配列をいくつかのNSTimeInterval値で初期化しています。今私の要件は、私はいくつかのTimeIntervalsでWebサービス呼び出しからの応答を得ています。今、私は2つの配列に格納されている値でWebサービスの応答から取得しているNSTimeIntervalの値を比較したい。コードを以下で見つけてください。NSMutableArray内のNSTimeInterval(NSNumberオブジェクト)を比較するには?

question answer="t" qno="1" tin="71" title="Greet" tout="73" 
question answer="t" qno="2" tin="74" title="Have Name Tag" tout="77 
question answer="t" qno="3" tin="78" title="Greet" tout="83" 

私は上記の形式で応答しています。私はファイルを解析し、NSTimeInterval値の関連する詳細を保存しています。今、私は71と73秒(74と77,78と83それぞれ)の間のtimeIntervalsを比較したいと思います。ユーザーがGoodおよびBadボタンをクリックしたすべてのtimeInterval値を含む配列があります。

-(void)onClickOfGood{ 
//NSLog(@"The current playback time in good:%g",moviePlayerController.currentPlaybackTime); 
currentPlaybackTime = moviePlayerController.currentPlaybackTime; 
NSNumber *goodTimeIntervals = [NSNumber numberWithDouble:currentPlaybackTime]; 
[arrayContainsGoodClicks addObject:goodTimeIntervals]; 
NSLog(@"The total count of Array is: %i",[arrayContainsGoodClicks count]); 
NSLog(@"The Array contains : %@",arrayContainsGoodClicks);} 

-(void)onClickOfBad{ 
NSLog(@"The current playback time in bad: %g",moviePlayerController.currentPlaybackTime); 
currentPlaybackTime = moviePlayerController.currentPlaybackTime; 
NSNumber *goodTimeIntervals = [NSNumber numberWithDouble:currentPlaybackTime]; 
[arrayContainsBadClicks addObject:goodTimeIntervals]; 
NSLog(@"The total count of Array is: %i",[arrayContainsBadClicks count]); 
NSLog(@"The Array contains Bad Clicks are: %@",arrayContainsBadClicks);} 

私の配列は、誰かが私にNSTimeIntervalsを比較する方法で私を助けてくださいすることができ、次のサンプルの詳細...

The Array containing Good Clicks are : (
"2.065027933", 
"3.153256308", 
"4.216946226", 
"4.94465584", 
"5.688772132", 
"6.48904879", 
"7.256447126", 
"8.000711516000001", 
"8.760312588", 
"9.537493762", 
"10.45637486", 
"11.153212146", 
"11.880587144", 
"12.672884372", 
"13.52852395" 

The Array containing Bad Clicks are: (
"2.70485684", 
"3.713548251", 
"4.593316639", 
"5.353822771", 
"6.049754725", 
"6.930190204", 
"7.592959653", 
"8.353438538000001", 
"9.074305708000001", 
"9.905327347", 
"10.809726701", 
"11.448938757", 
"12.321753456", 
"14.106061449" 

が含まれています配列と受信した応答?

答えて

3

データが正しい形式である場合は、かなり些細なことです。 NSTimeIntervalはtypedef doubleなので、基本演算子を使用して比較を行うことができます

for(NSNumber* click in arrayContainsGoodClicks) { 
    NSTimeInterval clickTimeInterval = [click doubleValue];  
    if(clickTimeInterval > 71.0 && clickTimeInterval < 73.0) { 
     ... 
    } 
} 
+0

ありがとう@amleszk。 –

+0

しかし、ここでの問題は...正しい時間間隔でボタンがクリックされるたびに、配列が同じオブジェクトで追加されるようになります。 if(clickTimeInterval> 71.0 && clickTimeInterval <73.0){ NSNumber * filteredGoodTimeIntervals = [NSNumber numberWithDouble:clickTimeInterval];このようにif条件の後にオブジェクトを追加しています。 [filteredArrayContainsGoodClicks addObject:filteredGoodTimeIntervals]; NSLog(@ "良いクリックを含むフィルタ配列:%@"、filteredArrayContainsGoodClicks); }私は間違っているかどうか確認してもらえますか? –

+0

こんにちは@amleszk。私は何のために説明してください(NSNumber * click arrayContainsGoodClicks)?それは何のためにチェックされますか? –

関連する問題