2012-04-02 58 views
3

爲什麼Xcode中不允許這樣做:結合在同一行的UILabel聲明

UILabel*redlabel,greenlable,bluelabel; 

但是喜歡這樣的:

UILabel*redlabel; 
UILabel*greenlabel; 
UILabel*bluelabel; 

您可以與其他類做到這一點,爲什麼不的UILabel?它給出一個錯誤「接口類型不能靜態分配」。

回答

4

它將工作:

UILabel *redlabel, *greenlable, *bluelabel; 
+0

,謝謝,我認爲有一些簡單的事情發生。 – johnbakers 2012-04-02 10:17:42

7

通過寫這樣的:UILabel *redlabel, greenlable, bluelabel;只需聲明一個指向UILabel和兩個UILabel S,不是指針。

它等效於寫:

UILabel *redlabel; 
UILabel greenlabel; 
UILabel bluelabel; 

試試這個,你需要的所有三是指針:

UILabel *redlabel, *greenlable, *bluelabel; 
+1

+1,另外,請看這裏的指針聲明語法:http://boredzo.org/pointers/ – MByD 2012-04-02 09:46:53

1

正確的語法是:

UILabel *redlabel,*greenlable,*bluelabel;