我想完成一些类似于这篇文章中所做的事情:Objective-C 中的常量
但是,我想构造一个 NSDictionary。
如果我做类似的事情:
常量.h
extern NSArray *const mFooKeys;
extern NSArray *const mFooObjects;
extern NSDictionary *const mFooDictionary;
常数.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
基于其他核心数据类型,您需要将其包含在将使用该常量的类中,或者创建一个单例类并存储NSDictionary
那里。只有一些类类型在您正在查看的实现中不起作用;您正在查找的常量代码需要用作对象才能正常工作,但我认为这违背了目的。我不清楚在简单常量实现中你能做什么和不能做什么的决定因素是什么,但我遇到了同样的问题,单例设计模式对我来说非常适合。 (无论哪种方式,你应该dealloc
即使它们在应用程序的整个生命周期中都存在。)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)