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