2010-06-06 3 views
2

에 숫자의 문자열로 변환 오버 복잡 그것은 NSTimeInterval 그냥 더블,하지만 난 객관적 C에 거의 노출이 있었 이후 그냥이 제대로받을 수없는 것 때문에이 . 다음 시나리오는 :내가해야합니다 알고있는 NSTimeInterval

앱 혼잡 데이터 임 밀리 초 에폭 시간 두 값과 startTime을 endTime- 사용자를 포함한다. 나는이 값을 보유 할 변수 내가 NSTimeIntervals하지만 생각 메신저로 저장하기로 결정 NSTimeInterval *start; NSTimeInterval *end;

있습니다 어쩌면 내가 비교가 단지 원시적으로 수행 할 수 있기 때문에 NSTimeIntervals 위해 프로그래머 때문에 필요을 두 배로 없습니다로 저장한다고 . 어느 쪽이든, 난 내가 문자열에서 NSTimeInterval로 변환하려고 다음 단계에서 누락 무엇인지 알고 싶습니다

tempString = [truckArray objectAtIndex:2]; 
    tempDouble = [tempString doubleValue]; 

지금 안전하게 이중으로 저장,하지만 내가 얻을 수 없다 NSTimeInterval에 값. 이것이 어떻게 성취되어야 하는가? 감사합니다

답변

11
당신은 캐스팅하지 않아도

, 당신은이를 작성할 수 있습니다

NSTimeInterval timeInterval = [[truckArray objectAtIndex:2] doubleValue]; 

캐스팅 불필요한이며, 추가 캐스트 그냥 열심히 소스 코드를 업데이트하고 미래의 변화 당신 때문에 ' 컴파일러에게 형변환 식을 타입 체크하지 말라고 명령했다. I이 값을 유지하도록 할

2

변수를 NSTimeInverval 원시적 C 타입 형식 정의이다 NSTimeInterval *start; NSTimeInterval *end;

조심, 이는 오브젝티브 C 오브젝트 아니다. 나는 당신이 실제로이 시나리오에서 이러한 유형에 대한 포인터를 필요가 있다고 생각하지 않는다, 그래서 당신은이처럼 그들을 선언해야합니다 :

NSTimeInverval start; 
NSTimeInterval end; 
당신 때문에 C에서 오류를 받고있을 수

, 당신은 포인터 타입을 부동 소수점 형식을 변환 할 수 없습니다 유형.

관련 문제