【发布时间】:2019-09-03 23:36:11
【问题描述】:
我正在调试旧版应用,遇到以下情况
LegacySource.h
cFunctionModifyingSomeVariable()
LegacySource.c
static struct someVariable; //a custom struct
ObjectiveCImplementation.m
#import LegacySource.h
-(void)workWithLegacy {
cFunctionModifyingSomeVariable(); // modifies variable declared in C class
}
将 C 中的静态结构导入到 Objective-C 有什么影响?
我所有的 Objective-C 类是否共享静态结构的同一个实例,或者每个实例都有自己的实例?换句话说,如果我创建了 3 个 ObjectiveCImplementation 实例,它们会修改同一个变量,还是它们的效果会相互独立?
【问题讨论】:
-
仅供参考 - 答案与在任意数量的 .c 文件中包含
LegacySource.h没有什么不同。
标签: c objective-c inheritance struct static-variables