Cocoa および iOS 用に、CGPoint/NSPoint および CGSize/NSSize などを処理するクロスプラットフォーム NSValue カテゴリを作成しようとしています。
私はこれを持っています:
#ifdef __MAC_OS_X_VERSION_MAX_ALLOWED
// Mac OSX
+ (NSValue *) storePoint:(NSPoint)point {
return [NSValue valueWithPoint:point];
}
+ (NSPoint) getPoint {
return (NSPoint)[self pointValue];
}
#else
// iOS
+ (NSValue *) storePoint:(CGPoint)point {
return [NSValue valueWithCGPoint:point];
}
+ (CGPoint) getPoint {
return (CGPoint)[self CGPointValue];
}
#endif
Mac 部分は完全に動作しますが、iOS 部分ではエラーが発生します
return (CGPoint)[self CGPointValue];
2 つのメッセージ: 1) セレクター CGPointValue の既知のクラス メソッドがなく、「算術型またはポインター型が必要な型 CGPoint (別名 struct CGPoint) を使用しました。
何故ですか?