Per le istanze di oggetti che possiamo avere la loro classe dichiarare alcuni conformità del protocollo come in:ObjC: esiste un "protocollo di classe"?
@protocol P <NSObject>
- (void) someMethod ;
@end
@interface C : NSObject <P>
@end
@implementation C
- (void) someMethod {
}
@end
Ma per quanto riguarda le classi?
mi ritrovo in questa situazione:
...
Class c = [self modelClass:kind] ;
if (c) {
model = [c performSelector: @selector(decode:)
withObject: [SExpIO read: [fm contentsAtPath:target]]] ;
}
e mi piacerebbe che ci fosse un modo per me di dichiarare che esiste una cosa come protocolli per metodi di classe.
Nell'esempio di cui sopra, tutte le classi che C può essere una classe istanza (Hmmm ??) di, dichiarare
+ (id) decode: (SExp *) root ;
C'è un modo che io possa trasformare la sopra in:
if (c) {
model = [c decode: [SExpIO read: [fm contentsAtPath:target]]]
}
utilizzando un'adeguata dichiarazione "class protocol"?
Eccellente! Grazie – verec