0

https://developer.apple.com/library/ios/documentation/GraphicsImaging/Reference/CGGeometry/Reference/reference.html#//apple_ref/doc/c_ref/CGSizeから:

struct CGSize {
   CGFloat width;
   CGFloat height;
};
typedef struct CGSize CGSize;

CGSize は飾り気のない C 構造体であり、メッセージを受け入れません。

(私の場合) 寸法が 0 の CGsize を作成する適切な方法は何ですか?

もし私が C で作業していたら、それは calloc() などのユースケースになるでしょう。このユース ケースの Objective-C のイディオムは何ですか?

4

2 に答える 2

4

使用できる特定のケース

CGSize zeroSize = CGSizeZero;
CGSize zeroSize = (CGSize){ 0, 0 };
CGSize zeroSize = (CGSize){ .width = 0, .height = 0 };
CGSize zeroSize = CGSizeMake(0,0);

多くの場合、Core Graphics や Core Foundation などのフレームワークはCGSizeZero、使用できる定数を提供するため、通常、そのような構造体を で動的に初期化する必要はありませんcalloc

于 2013-09-23T18:15:15.497 に答える
2

両方の次元で 0 を取得する最も簡単な方法は、定数です。CGSizeZero

別の方法はCGSizeMake(0,0)

于 2013-09-23T18:00:02.287 に答える