2014-05-10 45 views
-5

我可以使用typedef與NSString嗎?像使用typedef與NSString

typedef { 
kUserAvatar = @"kUserAvatar", 
kGroupAvatar = @"kGroupAvatar", 
kWallImage = @"kWallImage", 
} lala; 

而不是

static NSString * const kUserAvatar = @"kUserAvatar"; 
+3

你爲什麼不試試找出答案? – hd1

+0

我很有趣,它是否正確。 – user3622403

+0

你想與NSString一起使用typedef嗎?或者用2個NSString創建一個struct? – eharo2

回答

1

這不是在Objective-C有效的語法(或C或C++)。

我想你可以做到這一點,如果你真的想:

typedef NSString *const NSStringConstPointer; 

static NSStringConstPointer 
    kUserAvatar = @"kUserAvatar", 
    kGroupAvatar = @"kGroupAvatar", 
    kWallImage = @"kWallImage"; 

除了從NSString文字,這是標準的C89/C++ 98(和所有更高的標準)。但是,如果您需要,它並不能爲您節省太多時間,並且難以將個別定義移到其他地方。

+1

這是一個有效且聰明的中間立場/解決方案,但我認爲最好是強化標準/可接受的做事方式,而不是鼓勵非標準技術。 – AriX