Элементы доступа к скриптам в JavaUtilArrays_ArrayList
Я использую Cycript на iOS и вызываю внутренний API в приложении. У меня есть переменная типа JavaUtilArrays_ArrayList, возвращенная из вызова
cy# l
"[<FieldDescriptor: 0x170a74fc0>, <FieldDescriptor: 0x170a75a00>, <_FieldDescriptor: 0x170a76200>, <FieldDescriptor: 0x170a76240>, <FieldDescriptor: 0x170a76280>]"
Я хотел бы перебрать этот список для доступа к элементам (желательно с #element)
В общем я бы повторил так
for (x of [1,2,3]) {x+x}
Тем не менее, пытаясь
for (e of l){e}
или же
for(e in l ){l[e]}
приводит к выбрасыванию новой ошибки ("*** _assert(static_cast(static_cast(value)) == value):../Execute.cpp(347):CYCastJSValue")
кроме того, доступ к отдельному элементу
l[0]
Вернуть ничто
Я очень новичок в Cycript. Кто-нибудь может мне помочь с этим?
1 ответ
JavaUtilArrays_ArrayList был просто еще одним случайным объектом t arget-c. Я использовал класс dump, чтобы найти его определение и подходящий метод для доступа к элементам. Затем я вызвал метод, используя целевой синтаксис c [l getvaluefunc:]