2015-09-28 2 views
0

Этот код работал оштрафованным до Xcode 7, но теперь его ошибка бросания.Использование незаявленного идентификатора 'child'

Я пытался использовать решение на XCode7 - Incompatible block pointer types, но его все еще дает ошибку

Свойство «размер» не найден на объект типа «SKNode *»

-(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); 
     } 
    }]; 
} 
+0

Обновите свой вопрос с полной и точной ошибкой сообщение. – rmaddy

+0

@rmaddy done с точной ошибкой – user580950

ответ

0

Используйте ниже кода, его было легко определить, просто написать код еще раз, он дает вам новый автоматический предлагаемый материал

[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); 
    } 
}]; 
+0

он по-прежнему бросает ту же ошибку Несовместимые типы указателей блоков, отправляющих 'void (^) (SKSpriteNode * _Nonnull __strong, NSUInteger, BOOL * _Nonnull)' в параметр типа 'void (^ _Nonnull) (SKNode * _Nonnull __strong, NSUInteger, BOOL * _Nonnull) ' – user580950

+0

Вы изменили имя переменной с 'child' на' node', пожалуйста, исправьте его, также вы изменили его тип с 'SKSpriteNode' на' SKNode'. Пожалуйста, убедитесь, что вы хотите сделать –

+0

спасибо, теперь он выдает следующую ошибку Property 'size' не найден на объекте типа 'SKNode *' – user580950

Смежные вопросы