Xamarin.iOSでJSValueの値が参照できていない
お世話になっております。
Xamarin.iOSで開発をしているのですが、以下のエラーに悩まされています。
[__NSCFNumber toDouble]: unrecognized selector sent to instance 0x8128ca9af651a24b
エラーが発生しているプログラムの一部がこちらです。
public void SetData(JSValue val)
{
if (val.HasProperty("data"))
{
JSValue obj = val.GetProperty("data");
if (obj.HasProperty("position"))
{
if (obj.GetProperty("position").IsArray)
{
JSValue[] ary = obj.GetProperty("position").ToArray();
if (ary.Length > 3)
{
throw new Exception("RangeError: invalid array length about 'position'.");
}
for (int i = 0; i < ary.Length; i++)
{
position[i] = ary[i].ToDouble(); // ここでエラー発生!
}
}
else
{
throw new Exception("Type error: 'position' must be 'double[]'.");
}
}
}
}
やりたいことはJavaScriptCoreに読み込ませた以下のjsからposition
の数値を取得することです。
var test = { data: { position: [1, 1, 1] } };
とりあえず変数ary
にposition
の配列が来ていることはposition: [1,1,1,1]
で試して例外が発生したので確かめています。
エラー自体は調べたらたくさん出てくるのですがどれもSwiftでのエラー回避ばかりでC#(Xamarin.iOS)で有効な策が見つかりませんでした。
この質問が一番期待できたのですが、
What causes “unrecognized selector sent to class” error on Xamarin Forms build?
Xcodeのバージョンを確認してシミュレーターのアップデートを行ってみましたが特に解決しませんでした。
何か情報がありましたら教えてください。