【发布时间】:2009-05-31 22:06:11
【问题描述】:
我正在学习 Objective - C 并且来自垃圾收集的世界。我正在创建一个字典的类(静态)变量,我不确定我是否正确地进行内存管理。我正在使用一种方便的方法,因此应该自动释放该对象,但我真的不知道是否需要在我的类中释放或保留它。
我找不到关于如何管理类级别对象的明确文档 - 任何建议都值得赞赏。谢谢。
+(NSDictionary*) polygonNames{
NSDictionary* polygonNames = [NSDictionary dictionaryWithObjectsAndKeys:
@"Triangle", @"3",
@"Square", @"4",
@"Square", @"4",
@"Pentagon", @"5",
@"Hexagon", @"6",
@"Heptagon", @"7",
@"Octagon", @"8",
@"Nonagon", @"9",
@"Decagon", @"10",
@"Hendecagon", @"11",
@"Dodecagon", @"12",
nil];
return polygonNames;
}
【问题讨论】:
-
这段代码没有任何问题,只是每次调用都会创建字典。
-
没有回答你的问题,但是——我看到你将每个多边形的边数存储为一个字符串。如果您真的想存储一个数字,请将其包装在 NSNumber 中,即 [NSNumber numberWithInt:1] 等。
-
感谢您的数字建议,当我仍然认为 obj c 中字典的键必须是字符串时,快速查看文档和您的评论清除了这一点。跨度>
标签: objective-c memory-management