[英]How to define array of CGPoints within a struct definition?
我想做這個:
typedef struct
{
CGPoint vertices[];
NSUInteger vertexCount;
} Polygon;
但它說Field has incomplete type CGPoint []
。
你需要做兩件事之一:
malloc
並根據需要free
數組。 更好的選擇是不使用struct
而是創建完整的類。 然后,您可以添加方法和屬性,以及使內存管理更容易。 您正在使用Objective-C。 利用該語言的面向對象方面。 添加一種方法來計算周長和面積等。將邏輯放在它所屬的位置。
設置數組大小CGPoint vertices[count];
您是否想要為結構的每個元素使用唯一的名稱? 如果你只是想要一個CGPoint的數字順序,能夠計算它們中的多少,你可以通過在NSArray或NSMutableArray(當然存儲為NSValue)中推送它們來獲得更好的服務
結構的重點是通過描述性名稱輕松訪問值,即:
typedef struct {
CGPoint helpfulAndDescriptiveNameOne;
CGPoint helpfulAndDescriptiveNameTwoWhichIsDifferentThanTheOtherName;
etc...
NSUInteger vertexCount;
}
例如,CGRect只是一個由四個不同的CGFloats組成的結構,每個CGFloats都具有描述性和有用的命名:
typedef {
CGFloat x;
CGFloat y;
CGFloat width;
CGFloat height;
} CGRect;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.