Элементы доступа к скриптам в 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:]

Другие вопросы по тегам