在这里,问题无关紧要,但我对objectiveC
不太了解。因此,查询的是我正在一个项目上,用户在该项目上点击Image并使用UITapGestureRecognizer
,我必须将该轻拍的位置存储在array
中。我不知道每次用户点击view
并将CGPoint
值存储在NSMutableArray
中,这怎么可能。如果我知道,我将非常高兴。
dataArray = [[NSMutableArray alloc] init];
for (NSInteger i = 0; i < [getResults count]; i++) {
[dataArray addObject:tappedPoint];
NSLog(@"RESULT TEST %@", dataArray);
}
我已经尝试过此代码。但是在for循环的语法中,如何设置计数。还有一个问题是仅存储最后一个对象。
最佳答案
您需要继承UIView
并实现- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
方法以获得触摸回调。其次,不能将触摸位置(CGPoint
)添加到NSMutableArray
中,但是可以将其包装类(NSValue
)添加到NSValue
中。这将是您要实现的非常基本的实现。
// in UIView subclass
// Precondition: you have an NSMutableArray named `someMutableArray'
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
CGPoint touchLocation = [[touches anyObject] locationInView:self];
NSValue *wrapper = [NSValue valueWithCGPoint:touchLocation];
[someMutableArray addObject:wrapper];
}
如果以后要遍历这些触摸位置,则只需快速枚举数组并解开ojit_code即可。
for (NSValue *wrapper in someMutableArray) {
CGPoint touchLocation = [wrapper CGPointValue];
}
关于ios - 如何使用for循环在NSMutableArray中添加对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25092121/