私は次のことを行います:
function extend(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
};
extend( UIAElementArray.prototype,
{
each: function(f)
{
for (i = 0; i < this.length; i++)
{
f(i, this[i]);
}
},
findFirst: function(f)
{
for (i = 0; i < this.length; i++)
{
if (f(this[i])) return this[i];
}
return null;
},
findLast: function(f)
{
for (i = this.length - 1; i >= 0; i--)
{
if (f(this[i])) return this[i];
}
return null;
}
} );
しかし、mainWindow.tableViews()[0].cells() から取得したオブジェクトで「各」関数を使用しようとすると、「[オブジェクト UIAElementNil] は関数ではありません」が発生します。UIAElementArray.prototype に追加した各プロパティが [object UIAElementNil] に設定されているのはなぜですか? 実際のデバイスで UIAutomation テストを実行すると、シミュレーターで驚くほど動作します。