我没有足够的C知识来解决这方面的问题。我可以使用类方法来设置静态变量吗?
我有大量的NSManagedObjects
这是从我目前正在工作的级别下降 - 我的视图控制器正在显示一个父对象的表,其中显示的每个对象的详细指标显示子对象的数量。
用户可以创建一组存储在NSDictionary
中的过滤条件。我的子对象有一套复杂的计算,它们根据这些标准来执行,以确定它们是通过还是不通过过滤器。这由一个简单的只读布尔属性在外部表示。
我想要做的是在子对象中有一个静态变量来存放过滤器设置字典,这样我就不必调用用户默认值或类似的方法来获取每个子对象的过滤器设置。
在用户创建过滤器设置的时候,我没有任何特定的指向子对象的指针,并且我不想创建一个获取请求只是为了获得一个 - 所以会有东西像这样适合?
.H:
@interface Child : NSManagedObject
+(void)setFilterSettings:(NSDictionary*)newFilterSettings;
@end
.M:
static NSDictionary *filterSettings;
@implementation Child
+(void)setFilterSettings:(NSDictionary*)newFilterSettings
{
filterSettings = newFilterSettings;
}
@end
当过滤器的设置是由:
[Child setFilterSettings:newFilterSettings];
假设这是有效的,有什么东西,做我需要做内存管理?我正在使用ARC。
是的,你可以;但它不是C(如在你的标题中),但是Objective C –
@BasileStarynkevitch - 它使我困惑的静态变量的范围,它们存在于C中还是仅仅是objective-C? – jrturton
@hypercrypt - 他们都是 – jrturton