はじめに
こんにちは、@hiro128_777です。
Microsoft Docs の Xamarin.iOS のとても良い記事が Human translation されたのでご紹介します。
(この記事、ぜひ Human translation して欲しかったので issue 上げてましたが、それが採用されました。)
ちょっとまだ翻訳がイマイチな部分もありますが、この記事だけで、20くらい PR 上げておいたので、程なく改善されるはずです。
この記事では、Xamarin.iOS と Objective-C の関連によって関して注意しなければならない点がほぼ網羅されています。
Xamarin.iOS でのハマりどころはかなりの部分で、この領域に集約されているので、是非、一読していただきたいです。
その中でも、特に重要な部分をピックアップしました。
NSObject と Dispose の関係とメモリ管理
Xamarin.iOS において、ネイティブのインスタンスとマネージドのインスタンスが相互運用される場合、必ずリソースの破棄、つまり Dispose()
の問題がついて回りますが、適切に破棄するために理解すべき事項の説明です。
デリゲート
Xamarin.iOS と Objective-C では、デリゲートという言葉は違う文脈で用いられます。
デリゲートを使用する目的は一緒ですが、実現方法が違います。
Objective-C では設計のデザインパターンであり、Xamarin.iOS では言語に組み込まれているメソッドを参照する型です。
イベント
Xamarin.iOS ではひとつのインスタンスで、Objective-C の selector ベースのイベントと、C# のイベントハンドラーベースのイベントをを同時に利用すると、イベントが発火しなくなリますので、ご注意ください。
今回は以上です。