たとえば、ドキュメントでは、KVC スタイルの検証メソッドは次のように実装されています。
-(BOOL)validateAge:(id *)ioValue error:(NSError **)outError
彼らは id* を ioValue の型として使用しました。これはメソッド シグネチャの一部ではないため、次のようなことをすると問題があるのではないかと思います。
-(BOOL)validateAge:(NSNumber *)ioValue error:(NSError **)outError
これはKVCでも問題ありませんか?