Objective c 使用未声明的标识符';儿童';

Objective c 使用未声明的标识符';儿童';,objective-c,sprite-kit,Objective C,Sprite Kit,这段代码在Xcode 7之前运行良好,但现在抛出错误 我试着使用这个解决方案,但仍然有错误 在“SKNode*”类型的对象上找不到属性“size” -(void)update:(NSTimeInterval)currentTime { [self.children enumerateObjectsUsingBlock:^(SKNode * _Nonnull child, NSUInteger idx, BOOL * _Nonnull stop) { c

这段代码在Xcode 7之前运行良好,但现在抛出错误

我试着使用这个解决方案,但仍然有错误

在“SKNode*”类型的对象上找不到属性“size”

    -(void)update:(NSTimeInterval)currentTime
{
    [self.children enumerateObjectsUsingBlock:^(SKNode * _Nonnull child, NSUInteger idx, BOOL * _Nonnull 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);
         }
     }];
}
-(void)更新:(NSTimeInterval)currentTime
{
[self.children enumerateObjectsUsingBlock:^(SKNode*\u非空子级,NSUInteger idx,BOOL*\u非空停止)
{
child.position=CGPointMake(child.position.x-self.scrollingSpeed,child.position.y);

如果(child.position.x使用下面的代码,很容易发现,只需重新编写代码,它就会提供新的自动建议内容

[self.children enumerateObjectsUsingBlock:^(SKSpriteNode*  _Nonnull child, NSUInteger idx, BOOL * _Nonnull stop) {
  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);
  }
}];
[self.children enumerateObjectsUsingBlock:^(SKSpriteNode*\u非空子级,NSU整数idx,BOOL*\u非空停止){

如果(child.position.x)用完整和准确的错误消息更新您的问题。@rmaddy done用准确的错误更新它仍然会抛出相同的错误不兼容的块指针类型,并将“void(^)(SKSpriteNode*\u Nonnull\u strong,NSUInteger,BOOL*\u Nonnull)”发送到“void(^\u Nonnull)”类型的参数(SKNode*\u非空\u强,NSUTEGER,布尔*\u非空)'您已将变量名称从
child
更改为
node
请更正它,并且您已将其类型从
SKSpriteNode
更改为
SKNode
。请确定您要做的是什么?谢谢,现在在类型为'SKNode*'的对象上找不到以下错误属性'size'