2012-11-01 21 views
0

我正在做一些輕微或極其錯誤的事情。語法幫助必需(使用字符串變量)

我想換一個UIColour的可編程變量,例如:

NSString *DataColourTitle = @"greenColor"; 
[[UINavigationBar appearance] setTintColor: [UIColor [NSString stringWithFormat: @"%@", DataColourTitle]]]; 

我得到預期的標識符錯誤在NSString的一部分,並沒有制定出完成這一要求的格式。

回答

1

調用UIColor的類方法的語法是[UIColor <#some selector#>]其中< #some selector#>是諸如greenColor的標識符,而不是字符串。它期望的選擇器是對可以返回UIColor對象的代碼的引用,而@"greenColor"僅僅是一個靜態的文字字符串,它包裝爲NSString對象。

試着這麼做:

SEL green = NSSelectorFromString(@"greenColor"); 
UIColor *color = [UIColor performSelector:green]; 
[[UINavigationBar appearance] setTintColor: color]; 
+0

輝煌 - 在NSSelectorFromString改爲@「綠彩」我的變量和工作第一次。非常感謝。 –