0
私はオブザーバパターンコードをC++で持っています。ここにコードと非常に似た何か:Observer patternどうすればviewcontrollerをC++で書かれたサブジェクトのオブザーバにすることができます
ViewControllerまたはobjective-CクラスをC++で書かれたサブジェクトのオブザーバーにするにはどうすればよいですか?任意のコード例では高く評価され
、
乾杯
私はオブザーバパターンコードをC++で持っています。ここにコードと非常に似た何か:Observer patternどうすればviewcontrollerをC++で書かれたサブジェクトのオブザーバにすることができます
ViewControllerまたはobjective-CクラスをC++で書かれたサブジェクトのオブザーバーにするにはどうすればよいですか?任意のコード例では高く評価され
、
乾杯
どちらのObjective-C++、またC++が相互に継承することができ、あなたは、互いに相互作用するためのプロキシクラスを作成する必要があります。
Objective-C++からC++メソッドを呼び出す場合の小さな例です。
class Foo : public IObserver {
virtual void bar(int i) { printf("i is %d\n", i); } override;
};
@interface Baz : NSObject {
@public
void* foo;
}
@end
@implementation Baz
- (id)init {
self = [super init];
if (self) {
foo = new Foo();
}
return self;
}
- (void)dealloc {
delete foo;
[super dealloc];
}
- (void)barHappened:(int)i {
foo->bar(i);
}
@end
[オブジェクティブC++](https://en.wikipedia.org/wiki/Objective-C#Objective-C.2B.2B) – Leandros
Iは客観的C++を理解します。しかし、私のviewcontroller.hは、C++ヘッダーで定義されたIObserverから継承することはできませんか? – pdiddy
いいえ、できません。プロキシオブジェクト(Objective-Cで)またはプロキシクラス(C++で)を作成し、適切な関数を手動で呼び出す必要があります。 – Leandros