Ios 有没有更聪明的方法来批量定义常量?
我想为项目中的所有常量字符串设置宏,我被指定维护这些常量字符串 数据库字段的格式类似于Ios 有没有更聪明的方法来批量定义常量?,ios,objective-c,macros,constants,data-entry,Ios,Objective C,Macros,Constants,Data Entry,我想为项目中的所有常量字符串设置宏,我被指定维护这些常量字符串 数据库字段的格式类似于@“first\u name”,@“last\u name”,等等 我想要的是: #define kFirstName @"first_name" #define kLastName @"last_name" // And so on. 问题:我有超过3500个带有常量字符串的唯一字段。我希望它们中的每一个都被定义为宏 任何更聪明的方法。我正在考虑手动复制、粘贴和编辑它们中的每一个 标记为iS> >代
@“first\u name”
,@“last\u name”
,等等
我想要的是:
#define kFirstName @"first_name"
#define kLastName @"last_name" // And so on.
问题:我有超过3500个带有常量字符串的唯一字段。我希望它们中的每一个都被定义为宏
任何更聪明的方法。我正在考虑手动复制、粘贴和编辑它们中的每一个
标记为iS> <代码> >代码> ObjultC/<代码>,因为项目本身是<代码> iPad 应用程序。
< P>当使用核心数据时,考虑使用它为您创建常量值,您可以引用所有的属性和关系名。所以你走对了方向 您肯定不会在每个字段中至少键入一次 我建议采用以下两种方法之一:.h
-文件定义所有常量。您可以根据头文件包含的定义(例如UserDefinitions.h
中与用户数据相关的所有字段)对头文件进行分组。这样,您至少可以确保不必在代码中的任何地方导入所有常量。在这种情况下,使用前缀也会很有帮助,因此在所有宏名称前加上它们所包含的.h
-文件,例如kUserFirstName
,以便您第一眼就知道该常量的来源最干净的方法是创建一对常量文件(header和main)。创建一个新类(从任何对象继承,比如说)并将其称为常量。删除@interface和@implementation,这样就有了一个空的头(除了#import Foundation/Foundation.h)和一个空的main(除了导入头) 然后像这样在标题中声明每个
extern NSString *const kFirstName;
NSString *const kFirstName = @"Johnny";
并按如下方式实现每个(在.m文件中)
extern NSString *const kFirstName;
NSString *const kFirstName = @"Johnny";
确保将.m文件添加到目标中,在需要的地方导入标题。Nope;我想不出捷径。不确定定义它们的好处是什么,它们可能需要在SQL语句中使用。该项目使用CoreData,最终会反复使用它们中的大部分。我只是想避免人为错误。我在你的问题中没有提到核心数据的使用。不,没有这样的快捷方式,开发人员可能需要在Constants.h文件中手动输入。@RichaSharma你认为我的建议如何?这是这个想法的实现: