2013-10-24 2 views
2

나는 웹 사이트에서 가져온 시간 배열을 얻으려고 노력 중이다.개체 사이에 5 분 간격으로 시간의 NSArray를 만드는 방법은 무엇입니까?

NSArray *rawData = @[@"8:06", @"8:07", @"8:08", @"8:09", @"8:10", @"8:11", @"8:12", @"8:13",@"8:14", @"8:15", @"8:16", @"8:17", @"8:18", @"8:19", @"8:20", .... @"15:05"]; 

그래서 배열이 1 분 단위로 15시 5분까지 8시 6분에서 간다 :이 하나가 어떻게 배열을 얻었다. 내가 원하는 것은 내가 어떻게해야 하는지를 알아낼 수 없다는 것인데, 처음 배열을 여러번 반복하는 것부터 시작한다. 즉, 8시 10 분에 시작하여 5 분에서 15 분 5 초까지 증가한다. 최종 배열의 NSLog는 다음과 같을 것입니다 :

8:10, 8:15, 8:20, 8:25, ...., 10:45, 10:50, 10:55, 11:00, 11:05, ...., 14:55, 15:00, 15:05 

그래서 어떤 아이디어 ??? 시간 문자열이 "0"또는 "5"로 끝나는 경우

+0

'- [있는 NSDate dateByAddingTimeInterval :] ' 당신이 필요로하는 것들을 좋아해요 : https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html#//apple_ref/occ/instm/NSDate/dateByAddingTimeInterval : –

답변

7

이 특별한 경우에는 그냥 확인할 수 있습니다 :

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF ENDSWITH '0' OR SELF ENDSWITH '5'"]; 
NSArray *filteredData = [rawData filteredArrayUsingPredicate:predicate]; 

(이 당신은 유사하게 진행할 수 5의 배수에 대한 특별한 해결책이 있습니다 10 배수를 위해, 그러나 3의 배수 또는 같은 다른 경우에는 작동하지 않을 것이다 7)

+0

그 트릭을 했어 !! 감사합니다 마틴 !!!! –

+0

3과 7의 배수에서는 왜 작동하지 않습니까? – user1673099

+0

하지만 3 & 7은 나를 위해 일합니다. – user1673099

0

이 같은 시도 할 수 있습니다 또 하나의 방법은 아래이 : -

NSArray *arr=[NSArray arrayWithObjects:@"8.01",@"8.05",@"8.06",@"8.10",@"8.02",nil]; 
NSMutableArray *arrMut=[NSMutableArray array]; 
for(NSString *str in arr) 
{ 
    if ([str length]>3) 
    { 
    NSString *str1=[str substringFromIndex:3]; 
    if ([str1 intValue]==5 || [str1 intValue]==0) 
     [arrMut addObject:str]; 
    } 
} 
NSLog(@"%@",arrMut); 
관련 문제