title: What is the proper way to manage memory of a class variable / method in objective c?
body: <p>I'm learning Objective - C and coming from a garbage collected world. I am creating a class (static) variable of a dictionary and I am unsure if I am doing it properly for memory management or not. I'm using a convenience method so the object should be auto-released, but I don't really know if I need to release or retain it in my class.</p>
  
  <p>I can't find clear documentation on how class level objects are managed - any advice is appreciated. Thanks.</p>
  
  <pre><code>+(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;
  
      }
  </code></pre>