public void ExecutionBlocks () { using (var bo = NSBlockOperation.Create (Create_Null)) { bo.AddExecutionBlock (Add_Null); Assert.That (bo.ExecutionBlocks.Length, Is.EqualTo (2), "ExecutionBlocks"); } }
public void Add_Null () { using (var bo = NSBlockOperation.Create (Create_Null)) { // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** -[NSBlockOperation addExecutionBlock:]: block is nil Assert.Throws<ArgumentNullException> (() => bo.AddExecutionBlock (null)); } }
public override void ViewDidLoad() { base.ViewDidLoad(); Title = "Shipping Rates"; // Setup both operations to run var shopOperation = new GetShopOperation(client); shopOperation.DidReceiveShop += (op, shop) => { currencyFormatter = new NSNumberFormatter(); currencyFormatter.NumberStyle = NSNumberFormatterStyle.Currency; currencyFormatter.CurrencyCode = shop.Currency; }; shopOperation.FailedToReceiveShop += (op, error) => { Console.WriteLine("Failed to retrieve shop: {0}", error); }; NSOperationQueue.MainQueue.AddOperation(shopOperation); var shippingOperation = new GetShippingRatesOperation(client, checkout); shippingOperation.DidReceiveShippingRates += (op, rates) => { shippingRates = rates; }; shippingOperation.FailedToReceiveShippingRates += (op, error) => { Console.WriteLine("Failed to retrieve shipping rates: {0}", error); }; NSOperationQueue.MainQueue.AddOperation(shippingOperation); UIApplication.SharedApplication.NetworkActivityIndicatorVisible = true; // Ensure both operations are completed before we reload the table view var blockOperation = NSBlockOperation.Create(() => { UIApplication.SharedApplication.NetworkActivityIndicatorVisible = false; TableView.ReloadData(); }); blockOperation.AddDependency(shopOperation); blockOperation.AddDependency(shippingOperation); NSOperationQueue.MainQueue.AddOperation(blockOperation); allOperations = new NSOperation[] { blockOperation, shopOperation, shippingOperation }; }
public void Create_Null() { // Objective-C exception thrown. Name: NSInvalidArgumentException Reason: *** -[NSBlockOperation addExecutionBlock:]: block is nil NSBlockOperation.Create(null); }