Angenommen, wir haben folgende C++ Code:Erstes Protokoll zu einem Objekt über Funktionen Parameter
struct ISomeInterface
{
virtual ~ISomeInterface() {}
virtual void f() = 0;
};
class SomeClass : public ISomeInterface
{
public:
void f() override
{
std::cout << "Hi";
}
};
void getObject(ISomeInterface*& ptr)
{
ptr = new SomeClass;
}
int main()
{
ISomeInterface* p(nullptr);
getObject(p);
p->f();
delete p;
}
Es ist ganz einfach und weit davon entfernt, perfekt zu sein, aber es zeichnet das Bild: einen Zeiger auf eine Schnittstelle zu einem Objekt bekommen über die Parameter der Funktion.
Wie erhalten wir dasselbe mit Objective C-Protokollen?
@protocol SomeProtocol <NSObject>
- (void)f;
@end
@interface SomeClass : NSObject<SomeProtocol>
- (void)f;
@end
@implementation SomeClass
- (void)f { NSLog(@"Hi"); }
@end
Vielen Dank im Voraus.
ja, tatsächlich, es hat funktioniert. und nichts objektiv-c spezifisch. Danke –