2017-05-13 9 views
-2

DispatchTime.now()의 값을 저장하여 호출 된 함수 외부에서 액세스해야하는 경우 변수 유형은 무엇입니까?Swift - DispatchTime.now()에서 반환 된 변수 유형

편집 : 변수 유형이 DispatchTime이지만 다른 값으로 변수를 저장할 수 없으므로 준비 (세그)를 위해 다른보기 컨트롤러에 전달하거나 여러 기능에 걸쳐 사용할 수 있습니다.

var t = DispatchTime

var t = DispatchTime() [호출 파라미터 'uptimeNanoseconds'인자 누락]

var t = DispatchTime.self (에러 없음 [예상 멤버 명 또는 생성자 형명 후 통화, 나중에하고자 할 때 t = DispatchTime.now ('[DispatchTime.Type']에 'DispatchTime'유형의 값을 할당 할 수 없음)

+0

DipatchTime 변수 유형으로 (초)의 정확한 수를 제공합니다. –

+0

Option Xcode의 변수를 클릭하여 추측 된 시간을 확인합니다. 명령에서 유형/메소드/기능/속성을 클릭하여 해당 선언을 확인하십시오. – Alexander

답변

0

변수로 DispatchTime을 저장할 수 있습니다. 앱의 메모리 (일부 캐시 등) 외부 어딘가에 저장해야하는 경우 당신은 DispatchTime의이 건물을 살펴해야합니다

public let rawValue: dispatch_time_t 

이 그것을 나노초의 원시 값입니다입니다. 설명서 (https://developer.apple.com/reference/dispatch/dispatch_time_t)에서 UInt64 유형인지 확인할 수 있습니다. 그리고 더 나은 모든 것을 만들기 위해, 당신은이 방법으로 DispatchTime을 초기화 할 수 있습니다 :

DispatchTime(uptimeNanoseconds: <UInt64>) 

그런 식으로 당신은 DispatchTime 어디서든 당신이 원하는 당신의 원시 값을 저장할 수 있습니다.

-2

이 작업을 수행하는 방법을 알아 냈지만 더 이상 내 프로젝트에서 DispatchTime을 사용하지 않습니다. 사용하려고 할 때 t = DispatchTime.now()

하는이 방법은 나에게 초 정확한 번호를 부여하지 않은 : : 현재 시간 변수를 입력 후 다음 var t = DispatchTime(uptimeNanoseconds: 0)

그리고 :

이 같은 변수를 설정할 수

let nanoTime = endingTime.uptimeNanoseconds - startTime.uptimeNanoseconds 
let timeInterval = Double(nanoTime)/1_000_000_000 

대신 CFAbsoluteTime() 변수를 사용하고 시작 및 중지시 해당 값을 CFAbsoluteTimeGetCurrent()로 설정했습니다.

그 방법 totalTime = endTime - startTime 나에게

+0

안녕하세요,이 질문을 삭제하려고했지만 경고하지 않았습니다 ... 잘못된 질문을 작성했을 때 최선의 행동 방침은 무엇입니까? 나는 내 생각을 설명하기 위해 대답을 남기고 싶다고 생각했지만, 그것은 인기가없는 것으로 판명되었습니다. 내가 미래의 독자들을 위해 가치를 보지 못한다면 나는 그 질문을 삭제할 수있다. – RanLearns