---
title: visibleInterfaceController
framework: watchkit
role: symbol
role_heading: Instance Property
path: watchkit/wkapplication/visibleinterfacecontroller
---

# visibleInterfaceController

Returns the last visible interface controller.

## Declaration

```swift
var visibleInterfaceController: WKInterfaceController? { get }
```

## Discussion

Discussion Use this property to determine which interface controller the app is currently displaying. For example, in the app delegate’s handle(_:) method for a snapshot request, use this property to determine the user interface’s current contents, and make any changes before the system takes the snapshot. Or, when a Handoff activity launches the app, use the handleActiveWorkoutRecovery() method’s userInfo dictionary to determine what to display. Then use the visibleInterfaceController property to determine whether to push or pop to a different interface controller. This property contains the following values based on the app’s current state:

## See Also

### Getting the interface controller

- [rootInterfaceController](watchkit/wkapplication/rootinterfacecontroller.md)
