このコード例のスニペットで何が起こっているのか、少し混乱しています。C構造体「AUGraph」の「processingGraph」というプロパティを作成しています。次に、この構造体を Objective C メソッドに渡します。
[self createAUGraph:_processingGraph];
次に、この引数を取得して...
- (void) createAUGraph:(AUGraph) graph {
NewAUGraph (&graph);
...構造体を作成します。
ただし、これはプロパティ名「_processingGraph」で構造体を作成するようには見えません。
どうしてこれなの?目的の C メソッドに構造体を渡すと、コピーが作成されるだけですか? メソッド内の構造体への参照をどのように渡すのでしょうか?
完全なコード:
@interface AudioStepper ()
@property (readwrite) AUGraph processingGraph;
@end
@implementation AudioStepper
- (id) init{
if (self = [super init]) {
[self createAUGraph:_processingGraph];
}
return (self);
}
- (void) createAUGraph:(AUGraph) graph {
NewAUGraph (&graph);
CAShow (_processingGraph); //no struct?
}
@end