【发布时间】:2011-01-11 05:44:01
【问题描述】:
我一直在尝试调整加速度计示例中的代码,以便在用户按下 uibutton 时将一个点添加到折线图中。
处理两个浮点数的转换,这是计算如下结果为 CGPoint 并将 CGPoint 转换为 NSValue,然后将其添加到 NSMutableArray 中
-(IBAction)calculate:(id)sender {
self.points = [NSMutableArray array];
CGPoint pt = CGPointMake(d, c);
[self.points addObject:[NSValue valueWithCGPoint:pt]];
NSLog(@"%@", NSStringFromCGPoint(pt));
NSLog(@"%@", [NSString stringWithFormat:@"%d points", self.points.count ]);
}
但由于某种原因,我只将一个对象存储在数组中,似乎每次按下计算按钮时对象 pt 都会被覆盖,从好的方面来说,它具有正确的 x,y 坐标。关于这个有什么想法吗?
更新
移除 self.points = [NSMutableArray 数组];并将其放在视图中确实加载,还将第一个点设置为 0,0。这样就可以了。现在下一个问题是我有一个 Graph 子类,其中 CG 绘图正在发生。我试图找出一种简单的方法来访问上述 NSMutableArray,它位于图形类的 ViewController 类中。
我已经接近尾声了,但我真的被卡住了,任何帮助都会很棒。 仍在尝试在 UIScrollview 上的 UIView 上绘制折线图。 draw rect 方法在 UIView 子类中,一切都在那里工作,我在轴上有网格线和标签,我可以在上面手动绘制。但我遇到的问题是我无法读取 CGPoints 的 NSMutableArray,它们是 x 和 y 坐标。 ViewController 执行计算并将结果写入 NSMutable 数组,这一切正常,我可以在 ViewController 中看到 CGpoints 及其值是用 NSLogs 写入的。 我尝试了各种方法将 NSMutableArray 设置为全局但无济于事,一切都运行了,但是虽然我可以看到写在 ViewController 中的点,但它们对 UIView 子类不可见。 我还尝试使用 addObserver 和 observeValueForKeyPath 方法,当一切运行时,子类再一次看不到数组。 任何想法、建议、提示或想法都会很棒
【问题讨论】:
-
删除 self.points = [NSMutableArray 数组];并将其放在视图中确实加载,还将第一个点设置为 0,0。一切正常
标签: iphone objective-c xcode nsmutablearray subclass