iPhone / Objective-C结构问题我自己的CGRectZero

时间:2010-04-25 15:25:27

标签: iphone objective-c struct

我正在设计一个Padding结构如下:

/* Padding. */
struct CGPadding {
 CGFloat left;
 CGFloat top;
 CGFloat right;
 CGFloat bottom;
};
typedef struct CGPadding CGPadding;

CG_INLINE CGPadding CGPaddingMake(CGFloat left, CGFloat top, CGFloat right, CGFloat bottom) { CGPadding p; p.left = left; p.top = top; p.right = right; p.bottom = bottom; return p; }

这一切都运行得很好,问题是如何创建一个const CGPadding CGPaddingZero?如果我喜欢这样:

const CGPadding CGPaddingZero = (CGPadding){0.0, 0.0, 0.0, 0.0};

它不起作用。那么我做错了什么?

1 个答案:

答案 0 :(得分:0)

我发现这非常有趣,因为我一直在iPhone上做它并且它工作正常。可能它与typedef之后的同名有关吗?如果你摆脱了t​​ypedef并定义你的结构怎么办?

typedef struct CGPadding {
 CGFloat left;
 CGFloat top;
 CGFloat right;
 CGFloat bottom;
} CGPadding;

那么它有效吗?此外,由于浮动的所有0都是零,而你整个零件都是零,你可以说

const CGPadding CGPaddingZero = {0};

我一直在iPhone上做这些事情,所以如果它不适合你,我会感到非常惊讶。