Xamarin. Mac geliştiricileri için macOS API 'Leri

Genel Bakış

Xamarin. Mac ile daha fazla bilgi edinmek için, temel API 'lerle ilgili önemli bir sorun olmadan C# dilinde düşünebilirsiniz ve yazabilirsiniz Objective-C . Ancak bazen, Apple 'dan API belgelerini okumanız, Stack Overflow bir yanıtı sorununuzun bir çözümüne çevirmeniz veya mevcut bir örnekle karşılaştırmanız gerekir.

Tehlikeli kadar okuma Objective-C

Bazen bir Objective-C tanım veya yöntem çağrısını okumak ve bunu eşdeğer C# yöntemine çevirmek gerekir. Bir Objective-C işlev tanımına göz atalım ve parçaları bölün. Bu Yöntem (içinde bir seçici ) üzerinde bulunabilir NSTableView :

- (BOOL)canDragRowsWithIndexes:(NSIndexSet *)rowIndexes atPoint:(NSPoint)mouseDownPoint

Bildirim soldan sağa okunabilir:

  • -Ön ek bir örnek (statik olmayan) yöntemi olduğu anlamına gelir. + bir sınıf (statik) yöntemi olduğu anlamına gelir
  • (BOOL) dönüş türüdür (C# dilinde bool)
  • canDragRowsWithIndexes , adın ilk kısmıdır.
  • (NSIndexSet *)rowIndexes ilk param ve bu türüdür. İlk parametre şu biçimdedir: (Type) paramName
  • atPoint:(NSPoint)mouseDownPoint ikinci param ve türüdür. Her parametre, ilki biçiminden sonra: selectorPart:(Type) paramName
  • Bu ileti seçicisinin tam adı: canDragRowsWithIndexes:atPoint: . Sonunda, : önemli olduğuna dikkat edin.
  • Gerçek Xamarin. Mac C# bağlaması: bool CanDragRows (NSIndexSet rowIndexes, PointF mouseDownPoint)

Bu seçici çağrısı aynı şekilde okunabilir:

[v canDragRowsWithIndexes:set atPoint:point];
  • Örnek, vcanDragRowsWithIndexes:atPoint seçicisine sahip iki parametre ile çağırılır set ve point , geçirildi.
  • C# ' de, yöntem çağırma şöyle görünür: v.CanDragRows (set, point);

Belirli bir seçici için C# üyesini bulma

Objective-CÇağırmak için gereken seçiciyi buldığınıza göre, sonraki adım buna eşdeğer C# üyesine eşleniyor. Deneyebileceğiniz dört yaklaşım vardır (örnekle devam edebilirsiniz NSTableView CanDragRows ):

  1. Aynı ada sahip bir şeyi hızlıca taramak için otomatik tamamlama listesini kullanın. Bir örneği olduğunu öğrendiğimiz NSTableView için şunu yazabilirsiniz:

    • NSTableView x;
    • x. [liste görünmüyorsa CTRL + Ara alanı).
    • CanDrag girmesini
    • Yönteme sağ tıklayın, Export söz konusu özniteliği söz konusu seçiciyle karşılaştırabileceğiniz derleme tarayıcısını açmak için bildirime gidin
  2. Tüm sınıf bağlamasını arayın. Bir örneği olduğunu öğrendiğimiz NSTableView için şunu yazabilirsiniz:

    • NSTableView x;
    • Sağ tıklayın NSTableView , derleme tarayıcısına bildirime git
    • Söz konusu seçiciyi arayın
  3. Xamarin. Mac API çevrimiçi belgelerini kullanabilirsiniz.

  4. miguel, belirli bir apı için arama gerçekleştirebilmeniz için Xamarin. Mac apı 'lerinin "Rosetta Stone" görünümünü sağlar. API 'niz AppKit veya macOS 'a özgü değilse, orada bulabilirsiniz.