微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Objective C类中使用静态c变量

如何解决在Objective C类中使用静态c变量

| 我在某些Objective C类中具有辅助C函数。 刚刚发现,我在这函数中使用的全局静态C变量的值在类(duh)的实例之间共享,这不是我想要的。 有没有一种方法可以将这些变量声明为类实例的局部变量,以使它们在帮助函数中可见而无需显式传递它们?     

解决方法

           有没有办法将这些变量声明为类实例的局部变量 当然,使它们成为实例变量。 但:   这样它们就可以在辅助函数中可见而无需显式传递它们? 您可以将对象传递给函数。如果您有适当的访问器,则该函数可以获取它们。而且,如果您有增变剂,它也可以对其进行修改。 但是,如果执行此操作,则最好只创建一个方法,然后自动访问实例变量。     ,           想要在必要时避免方法调用 从逻辑上将其分离,以便您的底层代码使用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); }
应该满足您到目前为止发布的所有要求。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。