2017-03-03 44 views
0

有時我在執行我的代碼時遇到未知的SIGSEGV錯誤。Xamarin Mac - SIGSEGV

Stacktrace可以被找到here。 在擴展堆棧視圖內的視圖時總是發生異常。

 NSAnimationContext.RunAnimation(ctx => 
     { 
      ctx.TimingFunction = CAMediaTimingFunction.FromName(CAMediaTimingFunction.EaseOut); 
      //((NSView)View.Animator).AlphaValue = !IsSmall ? 0 : 1; 
      ((NSLayoutConstraint)heightConstraint.Animator).Constant = (IsSmall == true) ? SmallHeight : LargeHeight; 
     }, null); 

如果我不用動畫展開視圖,也沒有區別。

我無法找出這裏發生了什麼,所以希望有人能幫助我

提前感謝!

編輯

難道這是因爲垃圾收集器釋放了這個視圖嗎?我發現的觀點也無法點擊和上面說的,點擊該按鈕將引發SIGSEGV

+0

'也沒有擴大與動畫不會影響錯誤。你的陳述困惑,你的意思是如果你不使用'NSAnimationContext.RunAnimation'你仍然會得到同樣的錯誤?由於它似乎是'sendAction:to:from:(UI線程)的錯誤,請驗證您的約束值是否有效。 – SushiHangover

+0

如何檢查約束?展開的視圖會多次加載到堆棧視圖中,其中一些會按預期方式展開,但其中一些會拋出上述錯誤。此外,這並不總是發生在同一個,它是完全隨機的 –

+0

您的鏈接到堆棧跟蹤不起作用 - 「您指定了一個片段ID或鏈接是無效的,無法顯示。請使用最近的片段或我的片段按鈕來查找有效的片段。「 –

回答

0

解決方案

的解決方案似乎很容易。我沒有將視圖存儲在任何導致垃圾收集器收集這些垃圾的變量中。現在我添加了一個列表,它將充滿意見和瞧:它工作正常