对于这段示例代码中发生的事情,我有点困惑。我正在创建 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