[MonoTouch] SDK 5 issue

Nic Wise nicw at fastchicken.co.nz
Mon Oct 17 11:06:02 EDT 2011


Try moving all the declarations out of FinishedLaunching, eg:


> 		private MonoTouch.UIKit.UIWindow __mt_window;
> 		private UITextField _txtField;
>
>>>>>> THEY should be here!

      MyController ctrl1;
      UIView mainView;
      UIToolbar toolbar;


 		
> 		public override bool FinishedLaunching (UIApplication app, NSDictionary
> options)
> 		{
> 			__mt_window = new UIWindow(UIScreen.MainScreen.Bounds);
> 			__mt_window.BackgroundColor = UIColor.White;
> 			

why are you using __mt_window? use the window property, which talks to

> 			MyController ctrl1 = new MyController();
> 			
> 			UIView mainView = new UIView(UIScreen.MainScreen.Bounds);
>
>>>> NOT HERE!


> 			UIToolbar toolbar = new UIToolbar(new RectangleF(0, 0, 320, 30));
> 			toolbar.Items = new[]
> 			{
> 				new UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace),
> 				new UIBarButtonItem(UIBarButtonSystemItem.Done, HandleDoneButton)
> 			};
> 			
>>>> OR HERE - move UIToolbar out into a class-level variable



> Native stacktrace:
>
> 	0   MTFailure                           0x000d5c18
> mono_handle_native_sigsegv + 408

SIGSEGV is a Signal for a Segment Violation.

AKA a Null Pointer Exception.

All those things above will be getting GC'ed before you get to use
them. The GC in the newer version of MT is (I beleive) a LOT more
agressive, so things going out of scope get cleaned up quickly.
Putting them in as class var's stops that.



N

-- 
Nic Wise
t.  +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise
b. http://www.fastchicken.co.nz/

Nearest Bus: find when the next bus is coming to your stop. http://goo.gl/Vcz1p
mobileAgent (for FreeAgent): get your accounts in your pocket.
http://goo.gl/IuBU
Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa
London Bike App: Find the nearest Boris Bike, and get riding! http://goo.gl/Icp2


More information about the MonoTouch mailing list