4

我已经在这里和其他地方查看了无数问题,并且无法为我的生活找出我做错了什么。

我正在尝试将一个 CGPoints 数组作为 NSValues 存储在一个 NSMutableArray 命名点中,就像 iPhone 上这样:

NSValue *point = [NSValue valueWithCGPoint:firstTouch];
NSLog(@"NSValue *point = %@", point);
[points addObject:point];

NSLOG OUTPUT
NSValue *point = NSPoint: {120, 221}

从 CGPoint 到 NSValue 的转换一切顺利。但是当我试图找回点时,我什么也得不到。

NSValue *getPoint = [points objectAtIndex:0];
CGPoint thePoint = [getPoint CGPointValue];
NSLog(@"Point = %@", NSStringFromCGPoint(thePoint));

NSLOG OUTPUT
Point = {0, 0}

点应该是相同的,但我得到一个空结果。

出于测试目的,这发生在 touchesBegan 方法中。

有谁知道我哪里出错了?提前致谢。

4

3 回答 3

2

我从来没有将我的数组分配到内存中并初始化它。我的积分没有被存储到数组中,因为不存在数组。

于 2010-03-21T07:15:55.653 回答
1

添加CGPointNSMutableArray

[ArrObj addObject:NSStringFromCGPoint(PointObj)];

CGPoint从_NSMutableArray

CGPoint pointObj2 = CGPointFromString([ArrObj objectAtIndex:index]);

这可以帮助你..

于 2014-01-28T06:36:47.217 回答
-1

首先在内存中分配你的可变数组:

points = [[NSMutableArray alloc] init];

然后插入。

于 2011-02-02T07:23:17.413 回答