MonoTouch では、NSSet 内の各オブジェクトを処理する必要があります。Enumerate を使用した私の試みは次のとおりです。
public override void ReturnResults ( BarcodePickerController picker, NSSet results )
{
var n = results.Count; // Debugging - value is 3
results.Enumerate( delegate( NSObject obj, ref bool stop )
{
var foundCode = ( obj as BarcodeResult ); // Executed only once, not 3 times
if ( foundCode != null )
{
controller.BarcodeScannedResult (foundCode);
}
});
// Etc
}
メソッドは結果として 3 つのオブジェクトで呼び出されますが、デリゲートで処理されるオブジェクトは 1 つだけです。デリゲートが 3 回実行されることを期待していましたが、それがどのように機能するかについて間違った考えを持っているに違いありません。
ドキュメントや例が見つかりません。どんな提案でも大歓迎です。