I just downloaded xcode 7 GM and trying to call the method enumerateObjectsUsingBlock
of NSArray with iOS 9 but it shows the following error at build time.
Incompatible block pointer types sending 'void (^)(SKSpriteNode *__strong, NSUInteger, BOOL *)' to parameter of type 'void (^ _Nonnull)(SKNode * _Nonnull __strong, NSUInteger, BOOL * _Nonnull)'
This is the Apple documentation about enumerateObjectsUsingBlock method:
- (void)enumerateObjectsUsingBlock:(void (^)(ObjectType obj,
NSUInteger idx,
BOOL *stop))block
and this is my code:
[self.children enumerateObjectsUsingBlock:^(SKSpriteNode * child, NSUInteger idx, BOOL *stop) {
child.position = CGPointMake(child.position.x-self.scrollingSpeed, child.position.y);
if (child.position.x <= -child.size.width){
float delta = child.position.x+child.size.width;
child.position = CGPointMake(child.size.width*(self.children.count-1)+delta, child.position.y);
}
}];
where self.children
is a NSArray.
I don't understand, what am I doing wrong?