0
我已经宣布了几个字符串在.h文件中恒:如何强制一个参数成为一个常量?
extern NSString *const kServiceName1;
extern NSString *const kServiceName2;
而在.m文件赋值给他们:
NSString *const kServiceName1 = @"service1";
NSString *const kServiceName2 = @"service2";
我现在有一个方法声明这需要一个这些服务名称常量作为参数,我想强制它总是采取一个常量。喜欢的东西:
- (BOOL)serviceHasProfileUrl:(NSString const*)serviceName;
然而,即使我设法执行它是一个常量,它并不能阻止我传递不在服务名称的常量。我真正追求的是一种带字符串的枚举,或者一种定义一些类型的方法,它有几个可以被称为常量的字符串值。
我以一个普通的枚举开始,但最后我需要服务名称为正确的字符串,因为这是数据库中所需的表示形式,并且如果有一个简单的解决方案,将删除大量的序列化的复杂性。
谢谢你 - 请编辑到原来的问题。 – Elise
@Elise确定,已更新。实际上,您可能需要调整该字典,因为目前还不清楚“@(枚举)”在没有编译器呻吟的情况下会起作用。 – Droppy