JavaUtilArrays_ArrayList

时间:2018-03-23 18:30:25

标签: cycript

我在iOS上运行cycript并在App中调用内部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]

返回nothings

我对cycript很新。任何人都可以帮我吗?

1 个答案:

答案 0 :(得分:0)

JavaUtilArrays_ArrayList只是另一个随机的Objective-c对象。 我使用类转储来查找其定义和访问元素的适当方法。 然后我使用目标c语法[l getvaluefunc:]

调用该方法