Tiempo de ejecución de Objective-C: ¿Qué significa declarar una variable de tipo Class (objc_class) conforme a un protocolo?

Class bah = [NSString class];

id object = [bah new];

Compila sin ningún problema.

Class<NSSecureCoding> bah = [NSString class];

id object = [bah new];

Devuelve el error "No se conoce ningún método de clase para el selector 'nuevo'".

¿Por qué la primera instancia entiende que puede llamar al+new método definido en NSObject pero la segunda instancia no?

Respuestas a la pregunta(2)

Su respuesta a la pregunta