我想使用预定义的键集围绕多种方法传递字典。我已经在我以前使用过的课程中看到了这一点,但不确定如何设置它。这是我在 m 文件中使用的,例如:
NSString *name = [dictionary objectForKey:kObjectsName];
NSDate *date = [dictionary objectForKey:kObjectsDate];
如何为字典键设置预先确定的名称?
我想使用预定义的键集围绕多种方法传递字典。我已经在我以前使用过的课程中看到了这一点,但不确定如何设置它。这是我在 m 文件中使用的,例如:
NSString *name = [dictionary objectForKey:kObjectsName];
NSDate *date = [dictionary objectForKey:kObjectsDate];
如何为字典键设置预先确定的名称?
通常Apple会在标头中定义一堆常量,例如在NSAttributedString Application Kit Additions中:
标准属性
属性字符串支持文本的以下标准属性。如果键不在字典中,则使用下面描述的默认值。
NSString *NSFontAttributeName;
NSString *NSParagraphStyleAttributeName;
[...]
如果属性太多(使用定义或使用全局 const 变量),我的建议是使用您自己的常量。
例如在 .m 文件中(其中 CN 是公司名称):
NSString* const CNURLKey= @"URLKey";
NSString* const CNupdateTimeKey= @"updateTimeKey";
NSString* const CNtagsKey= @"tagsKey";
NSString* const CNapplicationWillTerminateKey= @"applicationWillTerminateKey";
NSString* const CNtagAddedkey= @"tagAddedkey";
NSString* const CNtagRemovedKey= @"tagRemovedKey";
NSString* const CNcolorKey= @"colorKey";
在头文件中:
extern NSString* const CNURLKey;
extern NSString* const CNupdateTimeKey;
extern NSString* const CNtagsKey;
extern NSString* const CNapplicationWillTerminateKey;
extern NSString* const CNtagAddedkey;
extern NSString* const CNtagRemovedKey;
extern NSString* const CNcolorKey;
或者你也可以使用define。
您还可以使用户更轻松,创建一个返回 aNSArray
或NSSet
包含所有变量列表的方法。
相反,如果您只需要保存几个属性,请重新考虑使用字典的选择,并使用包含所有属性的类,可通过 KVC 访问。
您可以将 #define 语句放入您的 .m 文件中:
#define kObjectsName @"myName"
#define kObjectsDate @"myDate"
等等