如何在iOS的头文件中创建CGSize类型的常量?
我想在头文件中创建如何在iOS的头文件中创建CGSize类型的常量?,ios,objective-c,constants,header-files,cgsize,Ios,Objective C,Constants,Header Files,Cgsize,我想在头文件中创建CGSize类型的常量,这样我就可以在我的应用程序中的任何地方使用这个大小,只需使用constantName.height和constantName.Width 如果您能为这两种情况提供语法,我将不胜感激:1)固定高度和宽度,2)高度和宽度作为传递值 感谢您提供固定的高度和宽度 #定义MAXSIZE CGSizeMake(320480) 对于传递值,您可以将值MySizeType定义为CGSize。但对于常量,为什么要传递值 typedef CGSize MySizeType
CGSize
类型的常量,这样我就可以在我的应用程序中的任何地方使用这个大小,只需使用constantName.height
和constantName.Width
如果您能为这两种情况提供语法,我将不胜感激:1)固定高度和宽度,2)高度和宽度作为传递值
感谢您提供固定的高度和宽度
#定义MAXSIZE CGSizeMake(320480)
typedef CGSize MySizeType代码>
#define kSize(width, height) CGSizeMake(width, height)
在几句不使用宏的评论之后,我在这里详细说明我的答案
使用宏的缺点是调试器无法知道常量
还有更多创建常量的方法取决于您想要的常量的范围
staticcgsizeconstmaxsize={320480}代码>
课外活动
在.h文件中
extern CGSize const MAXSIZE;
在.m文件中
CGSize const MAXSIZE = {320,480};
用于固定高度和宽度
#定义MAXSIZE CGSizeMake(320480)
对于传递值,您可以将值MySizeType定义为CGSize。但对于常量,为什么要传递值
typedef CGSize MySizeType代码>
编辑
#define kSize(width, height) CGSizeMake(width, height)
在几句不使用宏的评论之后,我在这里详细说明我的答案
使用宏的缺点是调试器无法知道常量
还有更多创建常量的方法取决于您想要的常量的范围
仅适用于内部类
staticcgsizeconstmaxsize={320480}代码>
课外活动
在.h文件中
extern CGSize const MAXSIZE;
在.m文件中
CGSize const MAXSIZE = {320,480};
这是你的答案
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));
这是你的答案
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));
谢谢。我需要一个常数。我只是想知道将来我是否需要在头文件中创建任何对象(不是常量),它接受从不同类传递的值。我无法理解您关于宏缺点的观点。你能用简单的语言详细说明一下吗?您给我的已编辑解决方案不适用于写入头文件。我通常对全局使用的变量使用头文件。Thanks我不想每次在每个.m文件中初始化这个常量值。我希望它与固定值写入一个文件(全局头文件)。所以我只需要导入这个文件并使用这个变量。我可以使用头文件中的#define kSize CGSizeMake(13.0f,34.0f)来实现这一点。但有些人说,如果我们使用宏,它会有缺点。我已经提到,define不是调试工具,非常感谢。我需要一个常数。我只是想知道将来我是否需要在头文件中创建任何对象(不是常量),它接受从不同类传递的值。我无法理解您关于宏缺点的观点。你能用简单的语言详细说明一下吗?您给我的已编辑解决方案不适用于写入头文件。我通常对全局使用的变量使用头文件。Thanks我不想每次在每个.m文件中初始化这个常量值。我希望它与固定值写入一个文件(全局头文件)。所以我只需要导入这个文件并使用这个变量。我可以使用头文件中的#define kSize CGSizeMake(13.0f,34.0f)来实现这一点。但有些人说,如果我们使用宏,它会有缺点。我已经提到,define不是调试器友好型的,也与@Sulthan相关,也与@Sulthan为这种需要使用宏有什么不对?@Sulthan为这种需要使用宏有什么不对?