gpt4 book ai didi

cocoa-touch - 在 Cocoa 和 Cocoa Touch 中将 CGPoint 存储在 NSArray 中的通用解决方案?

转载 作者:行者123 更新时间:2023-12-03 16:32:35 26 4
gpt4 key购买 nike

我有一个类想要在 Cocoa 和 Cocoa Touch 应用程序之间共享。该类计算各种 CGPoint 并将它们存储在数组中。在 Cocoa 中,有 [NSValue valueWithPoint]。在 Cocoa Touch 中,有 [NSValue valueWithCGPoint]

是否有任何解决方案可以让我绕过这些特定于框架的方法?

最佳答案

您可以在 NSValue 上创建一个类别,以便将 valueWithCGPoint:CGPointValue 方法添加到 Cocoa。

#if ! TARGET_OS_IPHONE@interface NSValue (MyCGPointAddition)+ (NSValue *)valueWithCGPoint:(CGPoint)point;- (CGPoint)CGPointValue;@end#endif
#if ! TARGET_OS_IPHONE@implementation NSValue (MyCGPointAddition)+ (NSValue *)valueWithCGPoint:(CGPoint)point {    return [self valueWithPoint:NSPointFromCGPoint(point)];}- (CGPoint)CGPointValue {    return NSPointToCGPoint([self pointValue]);}@end#endif

或者您可以使用valueWithBytes:objCType:getValue:

CGPoint point = {10, 10};NSValue *value = [NSValue valueWithBytes:&point objCType:@encode(CGPoint)];// ...[value getValue:&point];

关于cocoa-touch - 在 Cocoa 和 Cocoa Touch 中将 CGPoint 存储在 NSArray 中的通用解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11438166/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com