Es gibt drei Arten von Protokoll-Implementierung:Der Unterschied zwischen ID <protocol> someobject und NSObject <protocol> * someobject
die erste:
@protocol FirstProtocol
...
@end
@property(nonatomic, weak) id<FirstProtocol> delegate;
Die zweite:
@protocol SecondProtocol<NSObject>
...
@end
@property(nonatomic, weak) id<FirstProtocol> delegate;
Die dritte:
@protocol SecondProtocol
...
@end
@property(nonatomic, weak) NSObject<FirstProtocol> *delegate;
Ich weiß nur, das "<NSObject>
oder NSObject<protocol>
" kann der Delegat NSObject Wähler aufrufen lassen. Aber ich weiß nicht, was der Unterschied zwischen ihnen ist. Und welches ist die beste Praxis?