I've used this same exact code before, and it worked perfect every time. However, I'm trying to use it to move the paddle sprite along a horizontal path at position 100 for y and it updates with the location of my touch but for some reason it's not moving at all. I can't spot what's wrong. Can someone take a look and let me know?
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
    for (UITouch *touch in touches){
        CGPoint location = [touch locationInNode:self];
        CGPoint newPosition = CGPointMake(location.x, 100);
        //stop the paddle from going too far
        if (newPosition.x < self.paddle.size.width/ 2) {
            newPosition.x = self.paddle.size.width/ 2;
        }
        if (newPosition.x > self.size.width - (self.paddle.size.width/ 2)) {
            newPosition.x = self.size.width - (self.paddle.size.width/ 2);
        }
        self.paddle.position = newPosition;
    }
}
-(void) addPlayer:(CGSize)size {
    SKSpriteNode *paddle = [SKSpriteNode spriteNodeWithImageNamed:@"paddle"];
    //resize sprite
    paddle.size = CGSizeMake(125, 31.25);
    //position sprite
    paddle.position = CGPointMake(size.width/2, 100);
    //add physics body to paddle
    paddle.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:paddle.frame.size];
    //change to static so wont be moved by physics
    paddle.physicsBody.dynamic = NO;
    //add sprite to scene
    [self addChild:paddle];
}
-(instancetype)initWithSize:(CGSize)size {
    if (self = [super initWithSize:size]){
        self.backgroundColor = [SKColor colorWithRed:(29.0f/255) green:(29.0f/255) blue:(29.0f/255) alpha:1.0];
        //change gravity
        self.physicsWorld.gravity = CGVectorMake(0, 0);
        //add physics body to scene
        self.physicsBody = [SKPhysicsBody bodyWithEdgeLoopFromRect:self.frame];
        [self addPlayer:size];
        [self addBricks:size];
        [self addBall:size];
    }
    return self;
}