我有一个类MicController
并给它一个像这样的实例变量:
@implementation MicController {
AudioStreamBasicDescription streamFormat;
}
我初始化对象并尝试使用该ASBD变量创建音频单元以跟踪流格式。
- (instancetype)init {
if (self = [super init]) {
[self setup];
}
return self;
}
- (void)setup {
CreateInputUnit();
}
但是,在CreateInputUnit()
内,我似乎无法访问变量。
void CreateInputUnit () {
stream... // nothing
}
没有自动完成,没有语法高亮,没有编译。我错过了什么吗?
答案 0 :(得分:0)
对于您的班级,可以有多个对象实例,或者没有。 AC函数无法知道查找实例变量的对象(如果存在),除非您(1)将对象作为参数传递,或者(2)将全局C变量设置为指向感兴趣对象的实例化。后者(2)当然只对单例对象有用。
给定一个指向传递给C函数的对象的指针,您可以使用struct dereference运算符(" - >")来访问类接口中声明的对象中的任何实例变量。或者你可以直接传递感兴趣的数据或指针。