Я не совсем уверен, что такое nameRC, и если wInput является TextField, где вы устанавливаете его свойство .text? В любом случае, вы идете в единственное место, где вы установили свойство .text, а именно:
remainingA.text=NameRC;
Я бы предположил, что он может делать это всегда на 1 цифру позади, потому что вы делаете расчет максимальной длины, прежде чем добавлять что-либо в TextField. Например, когда вы впервые делаете это вычисление, в TextField ничего нет, , хотя вы только что перехватили событие Keyboard. Так что он вернет 0; затем после этого вы добавляете что-то в поле. Так что в следующий раз, когда состоится событие Keyboard, оно будет позади. Мое единственное предположение, что вам просто нужно поменять эти строки.
Я мог бы быть далеко , хотя;)