【问题标题】:cycript access elements in JavaUtilArrays_ArrayListJavaUtilArrays_ArrayList 中的 cycript 访问元素
【发布时间】:2018-09-02 12:28:33
【问题描述】:

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

导致 throw new Error("*** _assert(static_cast(static_cast(value)) == value):../Execute.cpp(347):CYCastJSValue")

此外,访问单个元素

l[0]

一无所有

我对 cycript 很陌生。有人可以帮我吗?

【问题讨论】:

    标签: cycript


    【解决方案1】:

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

    调用了该方法

    【讨论】:

      猜你喜欢
      • 2015-09-28
      • 1970-01-01
      • 2016-08-10
      • 2017-05-16
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多