Я новичок в JavaScript. В моем приложении для iOS есть несколько кнопок. У некоторых из них есть буквы в их именах; другие просто названы с номерами. Я пытаюсь написать тестовый скрипт UI. В этом скрипте у меня есть массив с названием button, который представляет массив объектов UIAElement, соответствующих UIButton.
Если я сделаю следующее, это прекрасно работает:
buttons["clr"].tap();
Я хочу, чтобы это коснулось кнопки с заголовком «clr», и это так.
Но я не могу найти способ нажать на кнопку с заголовком «2». Если я сделаю следующее, он не будет вести себя для меня:
buttons["2"].tap();
Что происходит, так это то, что какая-то часть системы решает нажать кнопку с индексом 2 в массиве. Это не то же самое, что кнопка с именем 2.
Кто-нибудь может объяснить? И есть ли способ заставить его рассматривать мою строку как строку? Я перепробовал несколько вариантов, и ни один из них не помог, например
buttons[String(2)].tap();
РЕДАКТИРОВАТЬ: назвать его чем-то кроме 2 было бы возможно, но неудобно. Приложение представляет собой калькулятор, и 2 выглядит как правильное название для ключа, который делает именно это. Эти имена используются, чтобы представить приложение людям с ограниченными возможностями. Я не знаю всех деталей, но чувствую, что «2», вероятно, сработает лучше, чем «два» в долгосрочной перспективе.
В ответ на вопрос о том, как я заполняю свой массив, он через класс Apple UIAElement . В частности, у меня есть объектное окно, которое также является UIAElement, и я заполняю его
var buttons=window.buttons();