objective-c – 创建一个常量字典对象

前端之家收集整理的这篇文章主要介绍了objective-c – 创建一个常量字典对象前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想完成这篇文章中正在做的事情: Constants in Objective-C

但是,我想构建一个NSDictionary.

如果我这样做:

constants.h

extern NSArray *const mFooKeys;
extern NSArray *const mFooObjects;
extern NSDictionary *const mFooDictionary;

constants.m

NSArray *const mFooKeys = [[NSArray alloc] initWithObjects: 
                                   @"Foo",@"Bar",@"Baz",nil];
NSArray *const mFooObjects = [[NSArray alloc] initWithObjects: 
                                   @"1",@"2",@"3",nil];
NSDictionary *const mFooDictionary = [[NSDictionary alloc] dictionaryWithObjects:mFooObjects 
                                                                         forKeys:mFooKeys];

我是以dealloc发布的,一切都很好,还是有更多的东西?这比一个“有问题”的问题更加谨慎,但我觉得如果没有意识到这一点,我真的可能会搞砸了.

解决方法

为了获得像NSDictionary这样基于其他核心数据类型的常量,您需要将它包含在将使用常量的类中,或者创建一个 Singleton class并在那里存储NSDictionary.只有一些类型在您正在查看的实现中不起作用;您正在寻找的常量代码需要用作对象才能正常工作,但我认为这种目的无法实现.我不清楚在简单的常量实现中你能做什么和不能做什么的决定因素,但我遇到了同样的问题,而Singleton设计模式对我来说非常适合. (无论哪种方式,即使它们在应用程序的生命周期中存在,您也应该适当地dealloc.)

猜你在找的C&C++相关文章