0
我有一個應用程序加載DialogViewController
。這包含幾個要素。其中一個要素是RootElement
。此RootElement包含一個EntryElement
。iOS(Monotouch)應用程序崩潰在視圖上將出現
在viewDidAppear
,我從EntryElement
回來,並且entry元素中有一個值(即我剛剛添加了該值)我想在該視圖中使用該值作爲標題。
的看法是在父控制器創建:
public TabBarController()
{
root = new RootElement("My Budget");
root.UnevenRows = true;
tab1 = new TestController(root);
nav = new UINavigationController(tab1);
nav.Title = "Budget";
var tabs = new UIViewController []{
nav
};
ViewControllers = tabs;
SelectedViewController = nav;
}
然後在控制器 - 神奇[應]發生
public override void ViewWillAppear (bool animated)
{
base.ViewWillAppear (animated);
var caption = "Value..";
if (BankElement != null && !String.IsNullOrWhiteSpace (BankElement.Value)){
caption = BankElement.Value;
}
MyRoot = new RootElement ("Root");
MyRoot.Caption = caption;
BankElement = new EntryElement("Enter", caption, "");
MyRoot.Add (new Section("") {BankElement});
rootelement = new RootElement("Root");
rootelement.Add (new Section("") {MyRoot});
Root = rootelement;
}
然而,當viewDidAppear
運行,我可以堆棧跟蹤。我不會每次都得到它 - 只是偶爾。
堆棧跟蹤:
at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) <IL 0x0009f, 0xffffffff>
at MonoTouch.UIKit.UIApplication.Main (string[],string,string) [0x0004c] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38
at BudgetPlanner.Application.Main (string[]) [0x00000] in /Users/Ashley/github/local/BudgetPlanner/BudgetPlanner/Main.cs:18
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <IL 0x00050, 0xffffffff>
本地堆棧跟蹤:
0 BudgetPlanner 0x00095f7c mono_handle_native_sigsegv + 284
1 BudgetPlanner 0x0000be98 mono_sigsegv_signal_handler + 248
2 libsystem_c.dylib 0x908bd86b _sigtramp + 43
3 ??? 0xffffffff 0x0 + 4294967295
4 UIKit 0x028014d0 -[UITextField canResignFirstResponder] + 33
5 UIKit 0x0284761f -[UIResponder resignFirstResponder] + 82
6 UIKit 0x02801b36 -[UITextField resignFirstResponder] + 141
7 UIKit 0x0277f517 -[UIView(Hierarchy) _removeFirstResponderFromSubtree] + 209
8 UIKit 0x0277f873 __UIViewWillBeRemovedFromSuperview + 77
9 UIKit 0x0277f783 -[UIView(Hierarchy) removeFromSuperview] + 70
10 UIKit 0x029b73fe -[UINavigationTransitionView _cleanupTransition] + 103
11 UIKit 0x029b7698 -[UINavigationTransitionView _navigationTransitionDidStop] + 55
12 UIKit 0x027773b6 -[UIViewAnimationState sendDelegateAnimationDidStop:finished:] + 237
13 UIKit 0x02777554 -[UIViewAnimationState animationDidStop:finished:] + 68
14 QuartzCore 0x04bc57d8 _ZN2CA5Layer23run_animation_callbacksEPv + 284
15 libdispatch.dylib 0x04186014 _dispatch_client_callout + 14
16 libdispatch.dylib 0x041767d5 _dispatch_main_queue_callback_4CF + 296
17 CoreFoundation 0x012fcaf5 __CFRunLoopRun + 1925
18 CoreFoundation 0x012fbf44 CFRunLoopRunSpecific + 276
19 CoreFoundation 0x012fbe1b CFRunLoopRunInMode + 123
20 GraphicsServices 0x04d237e3 GSEventRunModal + 88
21 GraphicsServices 0x04d23668 GSEventRun + 104
22 UIKit 0x0273965c UIApplicationMain + 1211
23 ??? 0x0b4ee83c 0x0 + 189720636
24 ??? 0x0b4eb0a0 0x0 + 189706400
25 ??? 0x0b4ea7f8 0x0 + 189704184
26 ??? 0x0b4ea903 0x0 + 189704451
27 BudgetPlanner 0x00010252 mono_jit_runtime_invoke + 722
28 BudgetPlanner 0x0017478e mono_runtime_invoke + 126
29 BudgetPlanner 0x00178be4 mono_runtime_exec_main + 420
30 BudgetPlanner 0x00178f55 mono_runtime_run_main + 725
31 BudgetPlanner 0x0006ba65 mono_jit_exec + 149
32 BudgetPlanner 0x0021f65d main + 2013
33 BudgetPlanner 0x00003125 start + 53
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
這是控制器的一個大大簡化版本 - 僅顯示根視圖 - 在實際控制人有很多更數據。
關於這個例外的任何想法?現在真的開始混淆了我。
(在模擬器上運行的MonoTouch 6.0.8)
感謝阿什...