2017-05-12 8 views
0

HomeKit에서 HMHome addAccessory()은 자체 컨트롤러를 제공하는 것 같습니다.해고 직후 다른 화면보기

home.addAccessory(accessory) { error in 
    if let error = error { 
    else { 
     // present another view controller at this point 
    } 
} 

완료 핸들러가 호출되면 모든 작업을 수행해야합니다. 그러나 컨트롤러가 이미 그 시점에서 해제 된 것처럼 보이지 않습니다.

완료시 새 컨트롤러를 즉시 표시하려고하면 아무 일도 발생하지 않습니다. 지금 당장은 새로운 컨트롤러를 제시하기 전에 잠시 기다려야 할 것 같지만 수용할만한 것은 아닙니다.

작업을 대기열에 넣을 수있는 방법이 있습니까?

그렇지 않은 경우 액세서리를 추가하려고 시도하기 전에 애니메이션없이 빈 필드를 사용하여 다음 뷰를 표시 한 다음 액세서리가 추가 된 후에 정보를 채워야합니다.

답변

0

당신은보기 컨트롤러에 있습니까? 당신이 당신이 present

를 사용할 수있는 또 다른 뷰 컨트롤러를 제시 view controller에있는 경우 신속에서는

그래서 당신은 쓸 수 있습니다 :

present(yourViewController, animated: true, completion: nil) 
+0

예 내가 그것을 제시하는 방법을 알고있다. 이 상황의 문제는 3 초를 기다려야합니다. 사용자가 숨길 의도가있는보기를 사용자가보고 싶지 않습니다. – huggie

+0

오, 이해합니다. 이것은 HomeKit의 잘못입니까? –

+0

'addAccessory()'호출이 매우 특이한 방법과 관계가있다. 뷰 컨트롤러 자체를 제공하고 이후에이를 기각하기 때문입니다. 그리고 해고 직후 다른 뷰 컨트롤러를 표시하는 데 문제가 있습니다. – huggie