开发者

Where to place "constants" in cocoa

开发者 https://www.devze.com 2023-01-23 11:46 出处:网络
I communicate with a json api in my cocoa (touch) app. As a response I get s开发者_开发技巧omething like this:

I communicate with a json api in my cocoa (touch) app.

As a response I get s开发者_开发技巧omething like this:

"wh": {
 "1": ["11.30 - 15.00"], 
 "3": ["11.30 - 15.00"], 
 "2": ["12.00 - 14.00", "17.30 - 23.00"], 
 "5": ["11.30 - 15.00"], 
 "4": ["11.30 - 15.00"]
}, 

Keys 0 to 6 reflect the weekdays (Monday == 0, Tuesday = 1, ....)

To map this I have a NSArray:

weekdays = [[NSArray alloc] initWithObjects:@"Montag",
       @"Dienstag",
       @"Mittwoch",
       @"Donnerstag",
       @"Freitag",
       @"Samstag",
       @"Sonntag", nil];

I need this in two viewcontrollers - currently set in the viewWillAppear. :(

So my question(s):

  1. Where/When should I set this weekdays array?
  2. How to access it in the viewcontrollers?
  3. Any suggestions?


Why don't you use the NSDateFormatter class? You can use it to get localized days of the wekk names for any language.


Use a singleton to store that kind of information, here is an example:

http://getsetgames.com/2009/08/30/the-objective-c-singleton/


The way I handle constants in my apps...

1) Create a Common.h file, put it in your Resources directory.

2) Define all the constants you want in there.

#define STATE_INDEX [NSArray arrayWithObjects:@"AL", @"AK", @"AZ", ... nil]
#define NSDATEFORMATTER_WITH_TIME_FORMAT @"dd/MM/yyyy : HH:mm:ss"
#define PORTRAIT_KEYBOARD_HEIGHT 216

3) Make sure to...

#import "Common.h"

in the code files you want to use the constants in.


You could rely in a .strings file:

[[NSBundle mainBundle] localizedStringForKey:key value:key table:@"Weekdays"]
0

精彩评论

暂无评论...
验证码 换一张
取 消