Ran across a complete sample on Github. Results aren't processed until you call:
error = DNSServiceProcessResult(reference)
print("ProcessResult \(error)")
Topic:
App & System Services
SubTopic:
Networking
Tags: