Это можно сделать множеством способов. Во-первых, я бы сказал, что если вы передаете его контроллеру детального представления, используйте метод prepareForSegue.
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "someSegue" {
let vc = segue.destination as! YourDetailVC
vc.user = self.user
}
}
Для других способов передачи данных вам следует изучить обратные вызовы, делегирование и Центр уведомлений.
Также структуры автоматически поставляются с поэлементным инициализатором. Таким образом, вы можете инициализировать его следующим образом:
let user = User(name: "John")