문제

I have a Cocoa class bound in monomac. If I call Dispose() on an instance of that class, should it always invoke dealloc on the unmanaged side?

What reasons might there be for dealloc not being invoked when the managed class is Dispose()ed?

도움이 되었습니까?

해결책

Dispose on the managed object will call release on the native object, not dealloc (but it may end up deallocating the object if nobody else has retained it).

Note that calling Dispose multiple times will only call release once.

Update

This turned out to be a bug in MonoMac / Xamarin.Mac (which has now been fixed).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top