我想創建CGSize
類型的頭文件中的常量,所以我可以在我的應用程序的任何地方使用這個尺寸僅僅使用constantName.height
和constantName.Width
。如何在iOS頭文件中創建CGSize類型的常量?
如果爲這兩種情況下提供語法我希望:1)固定的高度和寬度,2)的高度和寬度爲合格值
謝謝
我想創建CGSize
類型的頭文件中的常量,所以我可以在我的應用程序的任何地方使用這個尺寸僅僅使用constantName.height
和constantName.Width
。如何在iOS頭文件中創建CGSize類型的常量?
如果爲這兩種情況下提供語法我希望:1)固定的高度和寬度,2)的高度和寬度爲合格值
謝謝
對於固定的高度和寬度
#define MAXSIZE CGSizeMake(320, 480)
對於傳值,你可以給定義爲CGSize值MySizeType即。但是對於常數,你爲什麼要傳遞值。
typedef CGSize MySizeType;
編輯
幾點意見後不要用宏,我闡述我的答案在這裏。
使用宏的缺點是,你的調試器無法知道該恆定。
而且也有更多的方式來創建一個常數取決於你希望你不斷的範圍,
static CGSize const MAXSIZE = {320, 480};
In .hf ILE
extern CGSize const MAXSIZE;
在.m文件
CGSize const MAXSIZE = {320,480};
非常感謝。我其實需要不斷的價值。我只是想知道,如果將來我需要在頭文件中創建任何對象(不是常量),它接受來自不同類的傳遞值。 –
關於MACRO的缺點,我無法得到您的觀點。你能用簡單的語言詳細說明嗎?並且您給我的編輯解決方案不適用於寫入頭文件。我通常爲全局使用的變量使用頭文件。謝謝 –
1.應該寫入.m文件,並且已經解釋了2 .. –
這裏是你的答案。
1)固定
#define kSize CGSizeMake(13.0f, 34.0f)
2)合格值
#define kSize(width, height) CGSizeMake(width, height)
您可以使用這樣
CGSize size = kSize(12.0f,12.0f);
NSLog(@"%@",NSStringFromCGSize(size));
@Sulthan在使用宏來滿足這個需求時會出現什麼問題? –
相關https://stackoverflow.com/questions/6188672 /其中-DO-你-聲明-A-恆定的目標-C – Sulthan
還涉及https://stackoverflow.com/questions/11153156/define-vs-const-in-objective-c – Sulthan