在Objective-C中存储iOS应用程序常量

时间:2012-06-12 21:01:23

标签: objective-c ios5 unicode macros constants

我有一些unicode字符(音乐平面和尖锐的符号),我目前在课堂上定义:

#import <Foundation/Foundation.h>

#define kSongsSharpSymbol [NSString stringWithFormat:@"\U0000266F"]
#define kSongsFlatSymbol [NSString stringWithFormat:@"\U0000266D"]

@interface Song : NSObject {

 //...

}

随着应用程序的增长,我认为这些类型的常量最好放在应用程序文件可用的某个位置,而不必包含该类。

问题

  1. 我是否正确定义了unicode字符?它有效,但这并不意味着正确
  2. 理想情况下,我应该放置这些类型的常量吗?
  3. 干杯谢谢!

1 个答案:

答案 0 :(得分:3)

我通过创建这样的自定义类解决了这个问题,然后将其添加到我的预编译头文件中:

//Constants.h
#import <Foundation/Foundation.h>

FOUNDATION_EXPORT NSString *const kSongsSharpSymbol;
FOUNDATION_EXPORT NSString *const kSongsFlatSymbol;


//Constants.m
#import "Constants.h"

NSString *const kSongsSharpSymbol = @"\U0000266F";
NSString *const kSongsFlatSymbol = @"\U0000266D";

 //.pch file
#import <Availability.h>

#ifndef __IPHONE_4_0
#warning "This project uses features only available in iOS SDK 4.0 and later."
#endif

 #ifdef __OBJC__
  #import <UIKit/UIKit.h>
  #import <Foundation/Foundation.h>
  #import "Constants.h"

#endif