我想把我的CGPoint存储到NSMutable数组中,所以我有这样的方法:
[self.points addObject:CGPointMake(x, y)];
但我错了,上面说:
的参数1的类型不兼容
所以,我看看API,
- (void)addObject:(id)anObject
anObject要添加到末尾的对象
所以,我认为"CGPointMake"可以构成一个对象,但它不能被分配.会发生什么?
我想把我的CGPoint存储到NSMutable数组中,所以我有这样的方法:
[self.points addObject:CGPointMake(x, y)];
但我错了,上面说:
的参数1的类型不兼容
所以,我看看API,
- (void)addObject:(id)anObject
anObject要添加到末尾的对象
所以,我认为"CGPointMake"可以构成一个对象,但它不能被分配.会发生什么?
问题是CGPoint实际上只是一个C struct ,而不是一个对象:
struct CGPoint {
CGFloat x;
CGFloat y;
};
typedef struct CGPoint CGPoint;
如果您在iPhone上,可以使用NSValue UIKit additions将CGPoint转换为NSValue对象.
参见前面的答案,例如:How can I add CGPoint objects to an NSArray the easy way?