Objective c 在目标c类中使用静态c变量
在一些目标C类中,我有辅助C函数。 刚刚发现我在这些函数中使用的全局静态C变量的值在类的实例之间共享(duh),这不是我想要的 有没有一种方法可以将这些变量声明为类实例的局部变量,这样它们就可以被helper函数看到,而无需显式地传递它们 有没有办法将这些变量声明为类实例的局部变量 当然,让它们成为实例变量 但是: 使它们在助手函数中可见,而不显式传递它们 可以将对象传递到函数中。如果您有适当的访问器,函数可以获取它们。如果你有变异子,它也可以修改它们 但是,如果您正在这样做,您还可以创建一个方法,并自动访问实例变量 有没有办法将这些变量声明为类实例的局部变量 当然,让它们成为实例变量 但是: 使它们在助手函数中可见,而不显式传递它们 可以将对象传递到函数中。如果您有适当的访问器,函数可以获取它们。如果你有变异子,它也可以修改它们 但是,如果您正在这样做,您还可以创建一个方法,并自动访问实例变量 希望在必要时避免方法调用吗Objective c 在目标c类中使用静态c变量,objective-c,c,static,Objective C,C,Static,在一些目标C类中,我有辅助C函数。 刚刚发现我在这些函数中使用的全局静态C变量的值在类的实例之间共享(duh),这不是我想要的 有没有一种方法可以将这些变量声明为类实例的局部变量,这样它们就可以被helper函数看到,而无需显式地传递它们 有没有办法将这些变量声明为类实例的局部变量 当然,让它们成为实例变量 但是: 使它们在助手函数中可见,而不显式传递它们 可以将对象传递到函数中。如果您有适当的访问器,函数可以获取它们。如果你有变异子,它也可以修改它们 但是,如果您正在这样做,您还可以创建一个方
逻辑上分隔它,使您的低级代码在C或C++中,然后将所需的数据添加到Objc类:
/* c example */
typedef struct t_generator {
UInt32 a;
} t_generator;
static void Generate(t_generator* const gen) {
/.../
}
@interface MONObjCGeneratorContainer : NSObject
{
t_generator generator;
NSString * name;
UInt32 b;
}
@end
如果数据接口非常简单,您可以从实例访问它们:
- (void)method { GenerateB(&b); }
这应该满足您发布的所有要求(到目前为止)
希望在必要时避免方法调用吗
逻辑上分隔它,使您的低级代码在C或C++中,然后将所需的数据添加到Objc类:
/* c example */
typedef struct t_generator {
UInt32 a;
} t_generator;
static void Generate(t_generator* const gen) {
/.../
}
@interface MONObjCGeneratorContainer : NSObject
{
t_generator generator;
NSString * name;
UInt32 b;
}
@end
如果数据接口非常简单,您可以从实例访问它们:
- (void)method { GenerateB(&b); }
这应该符合您发布的所有要求(到目前为止)。对不起,我不明白这个问题。听起来您想要一个只对对象可见的全局变量?这没有道理。对不起,我不明白这个问题。听起来您想要一个只对对象可见的全局变量?是的,像这样的
静态内联void timeCriticalTask(void*refToSelf){}
?我将这些用于DSP,并希望在必要时避免方法调用。。谢谢啊,是的,像这样静态内联void timeCriticalTask(void*refToSelf){}
?我将这些用于DSP,并希望在必要时避免方法调用。。谢谢