Please see Some suggestions for Swift Observation for a thorough reply.