【问题标题】:How to use #define variable as method parameter in objective C如何在目标C中使用#define变量作为方法参数
【发布时间】:2013-12-10 23:01:42
【问题描述】:

我是 Objective-C 的新手,我想做的是在我存储所有实体名称的 EntityNameConstants.h 文件中定义变量。

我将使用存储库中与 ManagedObjectContext 相关的所有方法的所有定义。

EG。这是在 .h 文件中

define ENTITY_USER_PICTURE = @"UserPicture"

在存储库中,我想使用以下常量

UserPicture *userPicture = (UserPicture *)[NSEntityDescription insertNewObjectForEntityForName:ENTITY_USER_PICTURE
                                                                            inManagedObjectContext:context];

但我不能这样做,它会给我解析问题错误。

我在这里做错了吗?

【问题讨论】:

  • 你在定义之前是否放了井号(#)?可以粘贴输出错误吗?
  • 请记住,Objective-C 是“C”,它是一个严格的超集。在“C”中工作的所有东西也适用于 Objective-C。
  • 确实没有充分的理由为此目的使用定义而不是 const 字符串。
  • 您好,define 的语法是#define ENTITY_USER_PICTURE @"UserPicture"。嗨,杰西,我明白你在说什么,但在这种情况下,对于 const,我需要 .h 和 .m 文件,而我只有 .h 文件,我只声明 #define。所以我不想为常量引入新类。有没有其他选择?

标签: objective-c methods nsmanagedobjectcontext define-syntax


【解决方案1】:

define 的正确语法是:

#define VARIABLE @"value"

【讨论】:

  • 注意:没有等号。
  • 抱歉语法是#define ENTITY_USER_PICTURE @"UserPicture" 我想把它作为变量作为参数 insertNewObjectForEntityForName
猜你喜欢
  • 2020-05-12
  • 2011-04-29
  • 2013-06-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-27
  • 2011-12-30
  • 2020-07-02
  • 1970-01-01
相关资源
最近更新 更多