Normally, you just declare properties in your `NSObject`-derived class as `@objc` and `dynamic`, and Swift automatically makes those properties KVC- and KVO-compliant. But that can't be done all the time. The class's "public properties" may be forwarding to some hidden object, and/or you may want to throw NSError upon a validation failure. (Swift will/did-set accessors cannot error out; you can only `fatalError` if the value is wrong). There are KVC and KVO Guides, that for a given key name we can use methods with special names to get/set/validate keyed values. Those guides are in Objective-C; I'm wondering what the equivalent method name patterns are for Swift.
(I want to dabble making a Mac app, planning to use KVC/O to connect the model to any actions affecting it. This means I need to way to transmit errors from trying to submit out-of-range values.)