我正在尝试为我创建的电容器插件添加一些 Android 本机单元测试。问题是该方法期望获取一个 PluginCall 对象作为参数。在 iOS 中,这非常简单。例如:
func test()
{
let data = "madness? THIS. IS. DATA!!!!! ~Leonidas I, King of Data, around 480 BCE"
let plugin = Plugin()
let call = CAPPluginCall(callbackId: "test", options: [
"data": data
], success: { (result, call) in
let resultValue = result?.data["data"] as? Data
XCTAssert(resultValue != nil)
}, error: { (err) in
XCTFail("Error shouldn't have been called")
})
plugin.doSomethingCool(call!)
}
Run Code Online (Sandbox Code Playgroud)
真的很简单的事情。
尝试在 Android 上做同样的事情,效果不太好。
要实例化一个新的 PluginCall 对象,我必须向构造函数传递一个 MessageHandler 对象,要实例化一个 MessageHandler 对象,我必须传递一个 Bridge 对象,要实例化一个桥接对象,我必须传递一个编译器不传递的 PluginManager …
我想知道为什么通过NSArray迭代比通过NSSet迭代更快?我想象它与NSArray的订购事实有关,而NSSet不是,但我是一个经过认证的答案,而不仅仅是猜测.
编辑:
我的问题是:为什么它更快,没有在该主题中解释.而不是它更快.